gpt4 book ai didi

javascript - .push 导致循环中的未定义值

转载 作者:行者123 更新时间:2023-11-29 20:47:38 26 4
gpt4 key购买 nike

我不确定为什么这段代码在“组”数组中返回未定义的值:

Arr = [0,0,1,0,0,1,1,0,1,0]
for (j=0; j<5; j++){
for (i in Arr) {
this["groupS" + j + "C" + i] = [Arr[i]]
for (a=1; a<=j; a++) {
this["groupS" + j + "C" + i].unshift(Arr[i-a])
this["groupS" + j + "C" + i].push(Arr[i+a])
}
}
}
console.log(groupS2C2)

它为应该包含 Arr 的前 5 个元素的组返回 [0, 0, 1, undefined, undefined]。出于某种原因,它似乎正在处理否定“a”而不是添加“a”。

最佳答案

你不能使用 for (i in Arr) 因为 Arr 不是一个对象,它是一个数组。您必须为数组使用索引,如下所示:

for (i = 0; i < Arr.length; i++)

编辑:从技术上讲,Arr 是一个对象,但如此对待它并不是您想要的。这就是为什么您仍然会得到部分正确的结果。

关于javascript - .push 导致循环中的未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739351/

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