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

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

输出

var output = {
    foo: 'bar',baz: 'zle'
};

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

function toHash(array,keyName,valueName) {
    return array.reduce(function(dictionary,next) {
        dictionary[next[keyName]] = next[valueName];
        return dictionary;
    },{});
}

toHash(params,'name','input');

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

解决方法

是的,是 here,使用_.reduce
var params = [
    { name: 'foo',input: 'zle' }
];

_.reduce(params,function(obj,param) {
 obj[param.name] = param.input
 return obj;
},{});

猜你在找的JavaScript相关文章