当前位置:   article > 正文

JavaScript 对象或数组赋值不改变原对象或数组_js对象赋值不改变原对象

js对象赋值不改变原对象

 

JavaScript 中对象或数组的赋值是默认引用赋值的,使得改变对象时,原对象跟着改变,

如果你想要复制赋值,则必须要重新分配对象,使用如下代码即可避免此问题:

1、对象 Object.assign({}, object)

let a = {'name': 'lily'};

var b = Object.assign({}, a);

b.name = 'lisa';

console.log(a.name);

 

a.name 的值不再发生变化

 

2、数组 array.slice()

var a = ['qqq','www','eee'];

var b = a.slice();

b.push('rrr');

console.log(a);

 

 

3、使用...赋值新变量,对象和数组都可用

let a = {'name': 'lily'};

var b = {...a};

b.name = 'lisa';

console.log(a,b);

var aa = ['qqq','www','eee'];

var bb = [...aa];

bb.push('rrr');

console.log(aa,bb);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/915115
推荐阅读
相关标签
  

闽ICP备14008679号