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]);

Your
names()
getter每次调用都会返回一个新数组。您需要将names数组作为obj上的属性,然后在同一属性上使用get、set。