繁体   English   中英

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

[英]Convert array of values to array of objects (key-value) pairs in JavaScript

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

dataset = [5, 10, 13];

到对象数组,其中每个对象都是键值对?

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

此示例是Scott Murray的《 Web交互式数据可视化》(第2版,第2页)的“使用键进行数据连接”部分中数据集的缩写形式。 187。

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

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

 const dataset = [5, 10, 13]; const result = dataset.map((value, key) => ({ key, value })); console.log(result); 

您可以使用功能map

 var dataset = [5, 10, 13] var result = dataset.map((n, i) => ({ key: i, value: n })) console.log(result) 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

另一个选择Array.from

 var dataset = [5, 10, 13] var result = Array.from(dataset, (n, i) => ({key: i, value: n})) console.log(result) 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM