注意:我认为这个问题之前已经被问过一百万次,但我不知道要搜索什么。
问题很简单。 javascript中的数组似乎是通过引用设置的。我怎样才能按值设置它。意思是,即使我清空数组 a,我也希望数组 b 成为 a 的副本,即我希望 alert(b)
提醒 ['1','2',' 3']
var a = ['1','2','3'];
var b = [];
b = a;
a.length = 0;
alert(b);
这是一个jsfiddle http://jsfiddle.net/e5mQM/
最佳答案
是的,设置a = b;
将使两个变量指向同一个数组/对象,因此您必须复制该数组而不是仅仅引用它:
b = a.slice();
javascripts slice()
方法返回一个根据给定参数切片的新数组,如果不带参数调用,它将返回整个数组的新浅拷贝。
关于javascript - 按引用设置数组/按值设置数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055468/