javascript - 展平这个数组的简单方法?

标签 javascript jquery underscore.js

我有这个数组:

[{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/

相关文章:

javascript - Angular 5 中的循环依赖性错误

javascript - 在 Google Apps 脚本自定义函数中访问和抓取逗号分隔的 UTF-8 文本网页

javascript - 如何在幻灯片范围后自动提交?

javascript - 按相同元素对数组对象求和

javascript - 无法使用 map 将对象添加到另一个对象

javascript - float 元素溢出容器

javascript - clearTimeout 无法使用 jQuery 工作?

javascript - 如何从 <div> 复制字符串并放入 &lt;input&gt; 中?

jquery - Bootstrap 4 |将 <ul> 右对齐

jquery - 在 Underscore 模板中使用 JSON 对象 - Backbone.js