javascript - 按引用设置数组/按值设置数组

标签 javascript arrays

注意:我认为这个问题之前已经被问过一百万次,但我不知道要搜索什么。 问题很简单。 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/

相关文章:

帖子上的 JavaScript ajax 警报不起作用

javascript - 如何使 JSON 数组唯一

Javascript 2d 矩阵迭代替代/优化?

java - 是否可以将方法名称存储在数组中,并计算它被调用的次数?

Javascript - 如何在表单上方显示数组的值?

python - 一维数组和二维数组之间的逐行笛卡尔积

javascript - 检查url hash是否存在

javascript - 如何使用 jQuery 从左到右切换包含关闭按钮?

javascript - 将 "(0)"附加到这个闭包函数的目的是什么?

javascript - 谷歌地图行为怪异(随机工作或抛出错误)(TypeError : Cannot read property 'maps' of undefined)