有更快的方法来改变它:
[
{ name: 'name1', value: 'value1' },
{ name: 'name2', value: 'value2' },
{ name: 'name3', value: 'value3' },
...
]
进入这个:
{
name1: value1,
name2: value2,
name3: value3,
...
}
没有手动循环和填充对象? 下划线库有没有办法做到这一点?它已经在我们的应用程序中了 它可以在没有额外费用的情况下使用。
目前我有手动操作, 虽然我不确定这是我能拥有的最佳表现。
var data = []; // see the array above
var result = {};
for(var i = 0; i < data.length; i++)
{
var o = data[i];
result[o.name] = o.value;
}
答案 0 :(得分:1)
我认为没有更快的方法。使用下划线有一个更短的方式,但它几乎肯定比你的循环慢:
var result = _.reduce(data, function(r,o) { r[o.name] = o.value; return r; }, {});