JavaScriptで多次元配列を順番に埋める

前の例では、サブ配列内のすべての数字は同じでした。 今度は数字が増えていくようにしてみましょう。 以下のようになります:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのためには、内部ループの各反復で値が 1ずつ増加する特別なカウンター変数を 作る必要があります。 このカウンターの値を配列に書き込むのです。 以下のようになります:

javascriptlet 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);

代入後にカウンターを増やすようにして、 コードを簡略化することもできます:

javascriptlet 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から始まります)。 以下のようになります:

javascript[[2, 3, 4], [5, 6, 7], [8, 9, 10]])
Задание 1

2つのネストされたループを使用して、 次の配列を生成してください:

javascript[[1, 2], [3, 4], [5, 6], [7, 8]]
Задание 2

2つのネストされたループを使用して、 次の配列を生成してください:

javascript[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
Задание 3

3つのネストされたループを使用して、 次の3次元配列を生成してください:

javascript[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
Задание 4

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 5

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 6

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 7

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 8

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 9

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 10

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 11

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 12

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。

Задание 13

次のコードの作者は、 以下のような配列を作りたかったのです:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

そのために、次のコードが書かれました:

javascriptlet 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);

しかし、書かれたコードは意図したことを行いません。 作者の誤りを見つけて修正してください。