JavaScriptで多次元配列を順番に埋める
前の例では、サブ配列内のすべての数字は同じでした。 今度は数字が増えていくようにしてみましょう。 以下のようになります:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのためには、内部ループの各反復で値が
1ずつ増加する特別なカウンター変数を
作る必要があります。
このカウンターの値を配列に書き込むのです。
以下のようになります:
let arr = [];
let k = 1; // カウンター
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i].push(k); // カウンターを書き込む
k++; // カウンターを増やす
}
}
console.log(arr);
代入後にカウンターを増やすようにして、 コードを簡略化することもできます:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i].push(k++);
}
}
console.log(arr);
この場合、必ずk++でなければならず、
++kではないことに注意してください。
なぜなら後者の場合、まずカウンターが増加され、
その後で配列への書き込みが行われるからです
(結果として配列は1ではなく2から始まります)。
以下のようになります:
[[2, 3, 4], [5, 6, 7], [8, 9, 10]])
2つのネストされたループを使用して、 次の配列を生成してください:
[[1, 2], [3, 4], [5, 6], [7, 8]]
2つのネストされたループを使用して、 次の配列を生成してください:
[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
3つのネストされたループを使用して、 次の3次元配列を生成してください:
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
k++;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
let k = 1;
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
let k = 1;
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
k--;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
let k;
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
k++;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0, k++; j < 3; j++) {
arr[i][j] = k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++; k++) {
arr[i][j] = k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = ++k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
let k = 1;
for (let i = 0; i < 3; i++) {
arr[k] = [];
for (let j = 0; j < 3; j++) {
arr[i][j] = k;
k++;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。
次のコードの作者は、 以下のような配列を作りたかったのです:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
そのために、次のコードが書かれました:
let arr = [];
for (let i = 0, k = 1; i < 3; i++) {
arr[i] = [];
for (let j = 0; j < 3; k++) {
arr[i][j] = k;
}
}
console.log(arr);
しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。