防止 javascript 中的对象和数组修改

prevent object and arrays modification in javascript

如您所知,在 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)