我想用以下javascript程序使用for循環填充數組。使用for循環的Javascript填充數組
var x = [];
var y = [];
for(i = 0; i < 10; i++){
y[0] = (i);
y[1] = (i + 1);
x[i] = y;
console.log('x[' + i + '] = ' + x[i]);
}
console.log('');
console.log('x[] =');
console.log(x);
輸出是。
x[0] = 0,1
x[1] = 1,2
x[2] = 2,3
x[3] = 3,4
x[4] = 4,5
x[5] = 5,6
x[6] = 6,7
x[7] = 7,8
x[8] = 8,9
x[9] = 9,10
x[] =
[ [ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ],
[ 9, 10 ] ]
的問題是,在for循環在y內[0]和Y [1]的數組元素基於當前索引(i)獲得的值,而x [I]的數組元素中填充有當前y []如第一個打印輸出中所示。這就是我期待的以及我想如何填充X []。
for循環的所有x的外面已根據9的最後索引(i)的值的值,如在第二打印輸出[I]的元素。我究竟做錯了什麼?
您還沒有引用'按值y'。 – epascarello
'y'永遠是相同的參考 – njzk2
從NewBe謝謝所有優秀的答案。將深入探討引用和傳遞值。 –