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