gpt4 book ai didi

javascript - 全局变量的值改变了,javascript

转载 作者:行者123 更新时间:2023-11-28 13:44:24 24 4
gpt4 key购买 nike

我有这个代码片段,我不知道为什么变量的值会改变。

while (increment > 0) {
for (i = increment; i < n; i++) {
var unsorted = list;
console.log(unsorted + " -> unsorted" + i);
var temp = list[i];
var j = i;
while (j >= increment && list[j - increment] > temp) {
list[j] = list[j - increment];
j -= increment;
}
list[j] = temp;
console.log(unsorted + " -> must not change" + i);
console.log(list + "-> must not be the same below");
}
}

当我再次记录变量unsorted时,值已更改?为什么?

最佳答案

你只有一个数组。

var unsorted = list 创建指向同一个数组实例的第二个引用。

相反,您可以调用list.slice(),它返回数组的(浅)副本。

关于javascript - 全局变量的值改变了,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461853/

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