如何使用另一个同长度数组的对应元素更新对象数组属性?
实现方案
方案1:直接修改原数组(性能最优,适合不需要保留原始data的场景)
直接遍历数组下标,给每个对象新增number属性即可,遍历完成后原data就会变成目标结构:
data.forEach((item, index) => { item.number = myNumberArray[index] })
方案2:生成全新数组(不修改原data和原对象,适合需要保留原始数据的场景)
如果不想改动原有数据,可以用map生成新数组,结合对象展开运算符生成全新的对象:
const newData = data.map((item, index) => { return { ...item, number: myNumberArray[index] } })
注意:由于题目已经明确两个数组长度始终一致,不需要额外做下标越界判断,处理效率更高。如果实际场景不能保证长度一致,可以在遍历前增加长度校验逻辑,避免属性赋值为
undefined。
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

