gpt4 book ai didi

javascript - 数组排序改变当前和旧变量

转载 作者:行者123 更新时间:2023-11-30 10:08:27 24 4
gpt4 key购买 nike

JS 来源:

var c1 = ["Saab", "Volvo", "BMW"];
var c2=c1;
c1.sort();
document.getElementById("demo").innerHTML = '1 -> '+c1+'<br>2 -> '+c2;

结果:1 -> 宝马、萨博、沃尔沃2 -> 宝马、萨博、沃尔沃

我需要:1 -> 宝马、萨博、沃尔沃2 -> 萨博、沃尔沃、宝马

最佳答案

当你说

var c2=c1;

您实际上是在使 c2 指向 c1 引用的同一个对象。然后您正在更改 c1 数组对象。由于 c2c1 引用相同的对象,因此 c1c2 将打印相同的内容。

您需要复制 Array 对象。你可以使用 c1.slice() 来做到这一点,就像这样

var c2 = c1.slice();

现在 c2 指的是 c1 数组的副本。因此,对 c1 所做的更改不会影响 c2 对象。

关于javascript - 数组排序改变当前和旧变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com