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;
},{});

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...