如何对数组中相同key统一赋值?-灵析社区

biubiuuuuu

有以下两个数组, 其中'name'后缀的数字由arr决定。arr数组有多长,array里的name就有多少个 let arr=[0,1,2,3]; let array=[ { name0:'1', name1:'', name2:'', name3:'', }, { name0:'', name1:'', name2:'2', name3:'', }, { name0:'', name1:'6', name2:'', name3:'', }, { name0:'', name1:'', name2:'', name3:'9', }, ] 如何使得数组中相同key的value一样,效果如下 array=[ { name0:'1', name1:'6', name2:'2', name3:'9', }, { name0:'1', name1:'6', name2:'2', name3:'9', }, { name0:'1', name1:'6', name2:'2', name3:'9', }, { name0:'1', name1:'6', name2:'2', name3:'9', }, ]

阅读量:408

点赞量:16

问AI
let arr = [0, 1, 2, 3]; let array = [ { name0: '1', name1: '', name2: '', name3: '', }, { name0: '', name1: '', name2: '2', name3: '', }, { name0: '', name1: '6', name2: '', name3: '', }, { name0: '', name1: '', name2: '', name3: '9', }, ]; let values = {}; // 遍历数组,更新values对象 array.forEach(item => { arr.forEach((_, index) => { let key = 'name' + index; if (item[key]) { values[key] = item[key]; } }); }); array = array.map(() => { let newObj = {}; arr.forEach((_, index) => { let key = 'name' + index; newObj[key] = values[key] || ''; }); return newObj; }); console.log(array); "企业微信截图_16952026428820.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/740c229c1eb85c93bf1cbba9f11b9608.png)