如何给JavaScript数字数组添加键,转换为对象数组?
把纯数字数组转换为带指定键的对象数组
嘿,这个需求其实超容易实现的!JavaScript的map()方法就是专门干这个事儿的——它能遍历数组里的每一个元素,把每个元素转换成你想要的格式,最后返回一个全新的数组。
具体实现代码
最简单的写法用箭头函数就行:
var Array1 = [1, 2, 3, 4, 5]; Array1 = Array1.map(num => ({ x: num }));
如果你还不太习惯箭头函数,普通函数的写法也一样好用:
var Array1 = [1, 2, 3, 4, 5]; Array1 = Array1.map(function(num) { return { x: num }; });
执行完上面的代码后,Array1就变成你想要的格式啦:[{ x: 1 }, { x: 2 }, { x: 3 }, { x: 4 }, { x: 5 }]
原理简单说两句
map()会逐个处理数组里的元素:
- 每次拿到一个数字
num - 把它包装成
{x: num}的对象 - 所有转换后的对象会被收集起来,形成一个新数组
- 最后把这个新数组赋值给原变量,就完成了转换
这种格式正好匹配D3.js数据绑定所需的对象数组结构,后续用data()方法绑定数据的时候就能直接用啦~
内容的提问来源于stack exchange,提问作者JohnTheWizard
相关产品推荐
相关产品推荐

