如你所知,在 javascript 中对象和数组是通过引用发送的,如果我们得到这样的东西:
const obj=[{room:5},{room:35},{room:25},{room:15}];
static test(obj)
{
for (let i=0;i<obj.length;i++)
{
obj[i].room++;
}
return obj;
}
return {ok:true,D:obj,R:this.test(obj)};
然后第一个对象值会在调用测试后发生变化,问题是如何防止通过引用传递对象及其修改!??!
最佳答案
您可以使用对象或数组的副本:
对象
const copy = JSON.parse(JSON.stringify(obj))
数组
const copy = array.slice(0)
关于javascript - 防止在javascript中修改对象和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54985352/