gpt4 book ai didi

javascript - 如何将对象的名称保存在数组对象中?

转载 作者:行者123 更新时间:2023-12-05 04:28:00 25 4
gpt4 key购买 nike

我有一个包含 7 个对象的数组,名为 NewClass。

enter image description here

当我对对象进行一些更改时,对象失去了原来的 NewClass 名称。

像那样:

enter image description here

在 arrray[6] 中丢失了 NewClass 名称。

那么有什么方法可以保留该对象的 NewClass 名称吗?

这是我处理这个数组的函数:

useEffect(() => {
console.log(layers);
if (selectedLayerIndex && layers.length > 0) {

console.log(
'x',
layers.map((x) => {
if (x.feature.properties.editLayerId === selectedLayerIndex) {
console.log(x);

return (x = {
...x,
options: { ...x.options, color: 'cyan', fillColor: 'cyan' },
});
}
return x;
})
);

}

}, [selectedLayerIndex]);

非常感谢!

最佳答案

通过在此处使用语法 x = {...x, option: {/* some changes to the class */>,您将类更改为对象,这会导致丢失你的类(class)名称。

如果你想把它作为一个类,请改用instance.attribute,看下面的例子

class Demo {
constructor(color){
this.color = color;
}
}

var array = [new Demo('red'),new Demo('red'),new Demo('red'),new Demo('red'),new Demo('red'),new Demo('red'),new Demo('red')];

console.log('original array', array);
console.log('');

array[6] = {...array[6], color: 'blue'};
console.log(array); // array[6] have been change to a object
console.log('');

array[5].color = 'green';
console.log(array); // array[5] is still a class
console.log('');

关于javascript - 如何将对象的名称保存在数组对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72709501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com