[英]How to set the property of an object in an array returned by a getter?
用这个例子:
var data = {
get names() {
return [
{ name: "name1" },
{ name: "name2" },
{ name: "name3" },
]
}
}
data.names[1].name = "Yossi";
console.log (data.names[1]);
names
数组中的第二个 object - 没有被赋值行设置(它仍然记录“ name2
”)。
我还尝试将“setter”直接添加到第二个 object:
{
set name(newname) { this.name = newname; },
name: "name2"
}
结果相同。
如何以有效的方式将名称数组中的任何对象属性设置为其他属性...?
尝试这个:
var data = {
_names: [{ name: "name1" }, { name: "name2" }, { name: "name3" }],
get names() {
return this._names;
},
set names(list) {
this._names = list;
}
};
const names = [...data.names];
names[1].name = "Yossi";
data.names = names;
console.log(data.names[1]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.