Javascript 如何在getter返回的数组中设置对象的属性?
在这个例子中:Javascript 如何在getter返回的数组中设置对象的属性?,javascript,getter-setter,getter,setter,Javascript,Getter Setter,Getter,Setter,在这个例子中: var数据={ 获取名称(){ 返回[ {name:“name1”}, {name:“name2”}, {name:“name3”}, ] } } data.names[1].name=“Yossi”; console.log(data.names[1]); names数组中的第二个对象-未通过赋值行设置(它仍然记录“name2”) 我还尝试将“setter”直接添加到第二个对象: { set name(newname){this.name=newname;}, 姓名:“姓名2
var数据={
获取名称(){
返回[
{name:“name1”},
{name:“name2”},
{name:“name3”},
]
}
}
data.names[1].name=“Yossi”;
console.log(data.names[1]);
names
数组中的第二个对象-未通过赋值行设置(它仍然记录“name2
”)
我还尝试将“setter”直接添加到第二个对象:
{
set name(newname){this.name=newname;},
姓名:“姓名2”
}
同样的结果如何在名称数组中将对象的任何属性设置为其他属性,以一种有效的方式…?尝试以下方法:
var数据={
_名称:[{name:“name1”},{name:“name2”},{name:“name3”}],
获取名称(){
返回此。\u名称;
},
设置名称(列表){
这个._name=列表;
}
};
常量名称=[…data.names];
名称[1]。名称=“Yossi”;
data.names=名称;
console.log(data.names[1]);
Yournames()
getter每次调用都会返回一个新数组。您需要将names数组作为obj上的属性,然后在同一属性上使用get、set。