【发布时间】:2022-01-13 12:32:25
【问题描述】:
我的数组中有一个数据,如下所示。
const arr = [ { devSth: { h1: [1], h2: [1], } }, ];
我有一个函数,它应该修改这个数组。它看起来像这样:
const modifyArr = (data) => { data.forEach(el => { let keys = el.devSth && Object.keys(el.devSth); keys.forEach(key => { el.devSth[key].map(el => { return { name: el, val: 'lalala' } }) }) }) return data; }
然后我正在使用我的功能:
const newArr = modifyArr(arr); console.log(newArr);
预期输出:
[{ devSth: { h1: [{name: 1, val: 'lalala'}], h2: [{name: 1, val: 'lalala'}] } }]
实际输出:
[{ devSth: { h1: [1], h2: [1] } }]
不胜感激。
【问题讨论】:
-
您没有将
.map结果分配给任何东西。.map不会原地修改,而是返回一个新数组。
标签: javascript arrays dictionary