我是 javascript 新手,不太了解 push() 方法的工作原理。
我有两个空数组,row 和 newData。以及输出非常不同的两段代码:
for (i = 1; i <= 10 ; i++) {
row[0] = i;
newData.push(row);
}
Run Code Online (Sandbox Code Playgroud)
导致 newData == [10,10,10,...,10],我觉得这非常令人惊讶,并且
for (i = 1; i <= 10 ; i++) {
newData.push(i);
}
Run Code Online (Sandbox Code Playgroud)
结果 newData == [1,2,3,...,8,9,10] 这是预期的结果。
但我不明白为什么当第二个循环按预期工作时,第一个循环的每次迭代似乎都用最后一个元素替换 newData 的每个元素?
谢谢!