ループ内の変数の再初期化時に注意を使用する
1779 ワード
console.log()
再設定に関連するバギー動作を明らかにするか、変数をリセットすることができません.次の関数は、2次元配列を作成することです
m
行とn
ゼロの列.残念なことに、それは予想される出力を生産していませんrow
変数は外部ループ内で再初期化されていません(空の配列に戻る).コードを修正するので、ゼロの正しい3 x 2配列を返します[[0, 0], [0, 0], [0, 0]]
. function zeroArray(m, n) {
// Creates a 2-D array with m rows and n columns of zeroes
let newArray = [];
let row = [];
for (let i = 0; i < m; i++) {
// Adds the m-th row into newArray
for (let j = 0; j < n; j++) {
// Pushes n zeroes into the current row to create the columns
row.push(0);
}
// Pushes the current row, which now has n zeroes in it, to the array
newArray.push(row);
}
return newArray;
}
let matrix = zeroArray(3, 2);
console.log(matrix); console will display
[ [ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ] ]
function zeroArray(m, n) {
// Creates a 2-D array with m rows and n columns of zeroes
let newArray = [];
for (let i = 0; i < m; i++) {
// Adds the m-th row into newArray
let row = []; <----------
for (let j = 0; j < n; j++) {
// Pushes n zeroes into the current row to create the columns
row.push(0);
}
// Pushes the current row, which now has n zeroes in it, to the array
newArray.push(row);
}
return newArray;
}
let matrix = zeroArray(3, 2);
console.log(matrix); will now display
[ [ 0, 0 ], [ 0, 0 ], [ 0, 0 ] ]
Reference
この問題について(ループ内の変数の再初期化時に注意を使用する), 我々は、より多くの情報をここで見つけました https://dev.to/rthefounding/using-caution-when-reinitializing-variables-inside-a-loop-5b7cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol