gpt4 book ai didi

Javascript:在 for 循环期间构建的数组会重置其顺序

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:34 24 4
gpt4 key购买 nike

<分区>

这段代码看起来很简单

let arr = [1,2,3,4,5,6]
let store = [];

for(i = 0; i < arr.length; i++){
console.log(arr)
store.push(arr)
arr.push(arr.shift())
}
console.log('store', JSON.stringify(store))

我期待它回来

[[1,2,3,4,5,6],[2,3,4,5,6,1],[3,4,5,6,1,2],[4,5,6,1,2,3],[5,6,1,2,3,4],[6,1,2,3,4,5]]

但是当循环完成后,显示

[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]

在控制台中打印值时,它们看起来是正确的,但是当存储变量被记录时,它们都被重新排序。

[1, 2, 3, 4, 5, 6]
[2, 3, 4, 5, 6, 1]
[3, 4, 5, 6, 1, 2]
[4, 5, 6, 1, 2, 3]
[5, 6, 1, 2, 3, 4]
[6, 1, 2, 3, 4, 5]

为什么会这样?

这里有一个类似的问题,但它并没有真正为我的案例提供答案。

Creating a pair of arrays from an array resulting in circular array

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