【发布时间】:2020-05-26 15:12:19
【问题描述】:
我正在尝试使用地图向数组中的项目添加一个新字段:
const newArray = oldArray.map(item => {
return (item.newField = 'Something');
});
我试过了:
const newArray = oldArray.map(item => {
item.newField = 'Something';
return item;
});
但是我得到一个错误:
TypeError: Cannot add property newField, object is not extensible
【问题讨论】:
-
您是要比较
item.newField还是分配它?这里使用的语法是为了做比较,所以需要=== -
我正在尝试分配一个新字段。物品将始终被退回。
-
item 可能是原语。
-
啊!然后你需要在这里使用
Object.assign。oldArray.map(item => Object.assign({}, item, { newField: 'Something' })); -
您需要复制对象才能在此处分配新属性
标签: javascript