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

在JavaScript中将值数组转换为对象数组(键值)对,javascript,arrays,d3.js,javascript-objects,Javascript,Arrays,D3.js,Javascript Objects,是否有一种转换值数组的简单方法: dataset = [5, 10, 13]; 到一个对象数组,其中每个对象都是一个键值对 dataset = [ { key: 0, value: 5 }, { key: 1, value: 10 }, { key: 2, value: 13 } ]; 此示例是Scott Murray的交互式数据可视化Web第2版第页“数据与键连接”部分中数据集的缩写版本。187 我很难找到答案,因此我在下面发布了自己的解决方

是否有一种转换值数组的简单方法:

dataset = [5, 10, 13];
到一个对象数组,其中每个对象都是一个键值对

dataset = [ { key: 0, value: 5 },
            { key: 1, value: 10 },
            { key: 2, value: 13 } ];
此示例是Scott Murray的交互式数据可视化Web第2版第页“数据与键连接”部分中数据集的缩写版本。187

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

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

const数据集=[5,10,13];
const result=dataset.map((value,key)=>({key,value}));
控制台日志(结果)使用迭代数组
Array.map()
接受返回新项的回调。第一个参数是原始项(
),第二个参数是索引(
):

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

控制台日志(结果)您可以使用功能
map

var数据集=[5,10,13]
var result=dataset.map((n,i)=>({key:i,value:n}))
console.log(结果)

。作为控制台包装{最大高度:100%!重要;顶部:0;}
您可以使用函数
map

var数据集=[5,10,13]
var result=dataset.map((n,i)=>({key:i,value:n}))
console.log(结果)

。作为控制台包装{max height:100%!important;top:0;}
你比我快,你的更优雅。我有
dataset.map(函数(d,I){return{key:I,value:d};})dataset.map(函数(d,I){return{key:I,value:d};})