我无法复制这个数组。

37 浏览
0 Comments

我无法复制这个数组。

这个问题已经有了答案

JavaScript是按引用传递还是按值传递的语言?

(深度)复制数组使用jQuery[重复]

我不能复制数组。

var Mycollection = new Array("James", "John", "Mary");
var Mycollection2 = Mycollection;

在第一个数组中做的任何更改也同时发生在第二个数组中。

Mycollection.pop();
console.log(Mycollection.toString()) // ["James", "John"]
console.log(Mycollection2.toString())// ["James", "John"]

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

admin 更改状态以发布 2023年5月21日
0
0 Comments

JavaScript通过引用传递数组,要使用单独的数组,请执行:

var Mycollection = new Array("James", "John", "Mary");
var Mycollection2 = Mycollection.slice();

0
0 Comments

数组是对象,不像字符串、整数等基本类型......取对象的变量对应于对象的引用(指针),而不是对象本身,因此不同的变量可以引用相同的对象。基本类型变量(字符串、整数等)与值关联。

在你的情况下,你需要克隆你的对象数组以获得相同的值。

var Mycollection = new Array("James", "John", "Mary");
var Mycollection2 = Mycollection.slice();

0