如何将现有数组转换为含递增键的键值对象数组?
解决方法
可以用JavaScript的Array.map()方法快速实现需求,利用遍历过程中的索引(从0开始)加1作为新对象的键,原数组的value作为对应值:
const data = [{"label": "a", "value": 4}, {"label": "b", "value": 1}, {"label": "c", "value": 2}]; const newArr = data.map((item, index) => ({ [index + 1]: item.value })); console.log(newArr); // 输出 [{1:4}, {2:1}, {3:2}]
简单说明
map()遍历原数组时,第二个参数index是当前元素的索引(起始为0),index + 1就得到了从1开始递增的数字键- 用
[index + 1]的写法可以创建动态对象键,直接将原元素的value赋值给这个键即可
内容的提问来源于stack exchange,提问作者pratteek shaurya
相关产品推荐
相关产品推荐

