Javascript-修改重复的数组而不修改原始数组
我肯定这是件蠢事,但我解决不了 如果我这样做:Javascript-修改重复的数组而不修改原始数组,javascript,Javascript,我肯定这是件蠢事,但我解决不了 如果我这样做: var arr = [1, 2, 3, "up"]; var duplicate = arr; duplicate[3] = "down"; console.log(arr[3]); //"down" console.log(duplicate[3]); //"down" 那么为什么原始数组也被修改了呢?这与它们指向同一个数组有关吗 如何仅修改副本?您需要克隆您的副本阵列。。。您可以使用slice()方法执行此操作: var arr = [1,
var arr = [1, 2, 3, "up"];
var duplicate = arr;
duplicate[3] = "down";
console.log(arr[3]); //"down"
console.log(duplicate[3]); //"down"
那么为什么原始数组也被修改了呢?这与它们指向同一个数组有关吗
如何仅修改副本?您需要克隆您的
副本
阵列。。。您可以使用slice()
方法执行此操作:
var arr = [1, 2, 3, "up"];
var duplicate = arr.slice(0);
duplicate[3] = "down";
console.log(arr[3]); //"up"
console.log(duplicate[3]); //"down"
您需要克隆
重复的阵列。。。您可以使用slice()
方法执行此操作:
var arr = [1, 2, 3, "up"];
var duplicate = arr.slice(0);
duplicate[3] = "down";
console.log(arr[3]); //"up"
console.log(duplicate[3]); //"down"
修改了原始数组,因为使用var duplicate=arr
只意味着duplicate
的值现在等于arr
的值。更改其中一个将更改数组的值
至于复制数组及其内容,这篇文章有一个完整的总结原始数组被修改,因为使用var duplicate=arr
仅仅意味着duplicate
的值现在等于arr
的值。更改其中一个将更改数组的值
至于复制数组及其内容,这篇文章有一个完整的总结好吧,它看起来是我的复制品,不是复制品,但我的问题是复制品!对不起,如果你不是英语母语,有时甚至很难找到用英语表达问题的方法,所以即使我寻找,我也没有找到类似的问题。看起来我的问题是重复的,不是重复的,但我的问题是重复的!对不起,如果你不是英语母语,有时甚至很难找到用英语表达问题的方法,所以即使我在寻找,我也没有找到类似的问题。