我不确定为什么这段代码在'group'数组中返回未定义的值:
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'。
1 回答
你不能使用
for (i in Arr)
,因为Arr
不是一个对象,它是一个数组。您必须使用数组索引,如下所示:**编辑:**从技术上讲,
Arr
是一个对象,但是这样处理它并不是你想要的。这就是为什么你仍然得到部分正确的结果。