Javascript 复制两个阵列和控制台输出

Javascript 复制两个阵列和控制台输出,javascript,Javascript,为什么当您在控制台上调出arr2时,控制台会显示“potato”而不是“JAN” arr1[0]='Potato'在第4行之后完成,那么为什么arr2不等于初始arr1?(第1行的数组) 两个变量都有一个相同数组的实例 如果要避免这种情况,请改为这样做const arr2=[…arr1]。这将使用与第一个数组相同的元素创建新数组。必须从变量1创建新数组 试试看: let arr2 = Array.from(arr1) 您可以使用const arr2=[…arr1]到不可变数组克隆 var a

为什么当您在控制台上调出
arr2
时,控制台会显示“potato”而不是“JAN”

arr1[0]='Potato'
在第4行之后完成,那么为什么
arr2
不等于初始
arr1
?(第1行的数组)


两个变量都有一个相同数组的实例


如果要避免这种情况,请改为这样做
const arr2=[…arr1]
。这将使用与第一个数组相同的元素创建新数组。

必须从变量1创建新数组

试试看:

let arr2 = Array.from(arr1)

您可以使用
const arr2=[…arr1]到不可变数组克隆

var arr1=['JAN','FEB'];
常数arr2=[…arr1];
arr1[0]=“土豆”;

log(arr2)
因为它只是一个引用,所以没有两个不同的变量。此外,检入JS复合值(对象、数组)是通过引用指定的,因此arr2只是对原始数组的引用。更改原始文件也会更改引用。看清楚明白了。谢谢