在JavaScript中将值数组转换为对象(键-值)对的数组

有没有转换值数组的简单方法:

dataset = [5, 10, 13];

转换为对象数组,其中每个对象都是一个键-值对?

dataset = [ { key: 0, value: 5 },
            { key: 1, value: 10 },
            { key: 2, value: 13 } ];

此示例是Scott Murray的Interactive Data Visualization for the Web,第二版,第187页的"Data Join with Keys"部分中的数据集的简略版本。

我找不到答案,因此我在下面发布我自己的解决方案。


解决方案

使用Array.map()迭代数组。Array.map()接受返回新项的回调。第一个参数是原始项目(value),第二个参数是索引(key):

const dataset = [5, 10, 13];

const result = dataset.map((value, key) => ({ key, value }));

console.log(result);

相关文章