javascript – lodash:将数组映射到对象

前端之家收集整理的这篇文章主要介绍了javascript – lodash:将数组映射到对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_0@
有一个内置的lodash函数来取代:
  1. var params = [
  2. { name: 'foo',input: 'bar' },{ name: 'baz',input: 'zle' }
  3. ];

输出

  1. var output = {
  2. foo: 'bar',baz: 'zle'
  3. };

现在我只是使用Array.prototype.reduce():

  1. function toHash(array,keyName,valueName) {
  2. return array.reduce(function(dictionary,next) {
  3. dictionary[next[keyName]] = next[valueName];
  4. return dictionary;
  5. },{});
  6. }
  7.  
  8. toHash(params,'name','input');

想知道是否有一个lodash快捷方式.

解决方法

是的,是 here,使用_.reduce
  1. var params = [
  2. { name: 'foo',input: 'zle' }
  3. ];
  4.  
  5. _.reduce(params,function(obj,param) {
  6. obj[param.name] = param.input
  7. return obj;
  8. },{});

猜你在找的JavaScript相关文章