有一个内置的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; },{});