我有这个数组:
[{name: 'email',value: 'a@b.com'}, {name: 'phone',value: '123-123-1234'}]
我需要把它变成这样:
{email: 'a@b.com', phone: '123-123-1234'}
我该怎么做?我想我可以做一百万个迭代器来完成这项工作,但我认为也许有一种更简洁的方法来完成这项工作。
如果有帮助,我正在使用 Underscore 和 jQuery。
最佳答案
Array.prototype.reduce
对于这种类型的操作非常简洁:
var items = [{name: 'email',value: 'a@b.com'}, {name: 'phone',value: '123-123-1234'}]
var data = items.reduce(function (result, item) {
result[item.name] = item.value;
return result;
}, {});
关于javascript - 展平这个数组的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15817389/