在使用map将对象数组添加属性值后,更改属性值不起作用的原因可能是因为map函数返回的是一个新的数组,而不是原始数组的引用。因此,对新数组中的对象进行属性值的更改并不会影响原始数组中的对象。
要解决这个问题,可以使用一些方法来确保更改属性值的有效性:
array.forEach(obj => {
obj.property = newValue;
});
const newArray = array.map(obj => {
const newObj = { ...obj }; // 创建新的对象并复制原始对象的属性
newObj.property = newValue; // 更改属性值
return newObj;
});
const newArray = array.map(obj => {
return { ...obj }; // 创建新的对象并复制原始对象的属性
});
newArray.forEach(obj => {
obj.property = newValue; // 更改属性值
});
以上方法可以确保更改属性值的有效性,并且不会影响原始数组中的对象。对于具体的代码实现,可以根据实际情况选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云