我不能复制数组

Sad*_*dan 12 javascript arrays web

我不能复制数组.

var Mycollection = new Array("James","Jonh","Mary");
var Mycollection2 = Mycollection;
Run Code Online (Sandbox Code Playgroud)

第一个数组中的任何更改也会在第二个数组中进行.

Mycollection.pop();
console.log(Mycollection.toString()) // ["James","Jonh"]
console.log(Mycollection2.toString())// ["James","Jonh"]
Run Code Online (Sandbox Code Playgroud)

但是,当我使用文本类型的变量时,不会发生这种情况

Tuy*_*ius 5

数组是对象,与原始类型(如字符串,整数等)不同,带对象的变量对应于对象的引用(指针),而不是对象本身,因此不同的变量可以引用同一对象。基本类型的变量(字符串,整数等)与值关联。

在您的情况下,您将必须克隆您的对象数组以具有相同的值?

var Mycollection = new Array("James","Jonh","Mary");
var Mycollection2 = Mycollection.slice();
Run Code Online (Sandbox Code Playgroud)