配列の中に配列を格納する | 多次元配列 | JavaScript 超完全入門 基本から発展までのすべて

スポンサーリンク
スポンサーリンク
amazon
スマイルSALE
--:--:--
ad. 価格範囲を指定して商品を探せます

多次元配列とは?

JavaScriptでは、配列の中に別の配列を格納できます。このような配列を多次元配列と呼びます。

最もよく使われるのは2次元配列です。2次元配列は、表のように「行」と「列」でデータを管理したい場合に便利です。

多次元配列の基本例


const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

console.log(matrix[0]);
console.log(matrix[1][2]);

この例では、matrixという2次元配列を定義しています。

matrix[0]は1行目の配列である[1, 2, 3]を表します。matrix[1][2]は、2行目の3番目の要素である6を表します。

多次元配列の構造

多次元配列は、配列の中にさらに配列が入っている構造です。

インデックス 格納されている要素
matrix[0] [1, 2, 3]
matrix[1] [4, 5, 6]
matrix[2] [7, 8, 9]

このように、外側の配列には複数の配列が格納されています。内側の配列を「行」と考えると、表形式のデータとして理解しやすくなります。

多次元配列の要素にアクセスする

多次元配列の要素にアクセスするには、インデックスを複数指定します。

2次元配列の場合は、最初のインデックスで外側の配列、次のインデックスで内側の配列の要素を指定します。

多次元配列の要素にアクセスする例


const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

console.log(matrix[0][1]);
console.log(matrix[2][2]);

この例では、matrix[0][1]で1行目の2番目の要素である2にアクセスしています。

また、matrix[2][2]では3行目の3番目の要素である9にアクセスしています。

多次元配列の要素の変更

多次元配列の要素を変更する場合も、アクセスするときと同じようにインデックスを指定します。

多次元配列の要素を変更する例


const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

matrix[1][2] = 10;

console.log(matrix);

この例では、matrix[1][2]の値を10に変更しています。

matrix[1][2]は2行目の3番目の要素なので、元の値である610に置き換わります。

多次元配列の利用例

多次元配列は、表形式のデータや座標、ゲームのマップなどを管理するときに役立ちます。

座標を多次元配列で管理する例


const coordinates = [
    [10, 20],
    [30, 40],
    [50, 60]
];

console.log(coordinates[0]);
console.log(coordinates[1][1]);

この例では、各座標を[x, y]の形で管理しています。

coordinates[1][1]は、2番目の座標のyの値である40を表します。

表形式のデータを管理する例


const scores = [
    ["Taro", 80, 90],
    ["Hanako", 95, 88],
    ["Jiro", 70, 85]
];

console.log(scores[0][0]);
console.log(scores[1][2]);

この例では、名前と点数を2次元配列で管理しています。

scores[0][0]"Taro"scores[1][2]88を表します。

多次元配列をループで処理する

多次元配列は、for...of文を使って順番に処理できます。


const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

for (const row of matrix) {
    for (const value of row) {
        console.log(value);
    }
}

外側のfor...of文で行を取り出し、内側のfor...of文で各行の要素を取り出しています。

多次元配列を扱うときは、「外側の配列」と「内側の配列」を意識すると理解しやすくなります。

初心者が覚えておきたいポイント

  • 多次元配列は、配列の中に配列が入っている構造です。
  • 2次元配列は、表のようなデータを扱うときに便利です。
  • matrix[0]は1行目の配列を表します。
  • matrix[0][1]のように書くと、内側の配列の要素にアクセスできます。
  • JavaScriptの配列は行ごとに長さが違っていても構いません。
  • データが複雑になりすぎる場合は、オブジェクトの配列を使う方が分かりやすいこともあります。

まとめ

  • 多次元配列は、配列の中にさらに配列を格納した構造である。
  • 2次元配列は、表形式のデータを扱うときに便利である。
  • 要素にアクセスするには、複数のインデックスを指定する。
  • 要素を変更する場合も、アクセス時と同じようにインデックスを指定する。
  • for...of文を使うと、多次元配列を順番に処理しやすい。
  • 複雑なデータでは、多次元配列よりオブジェクトの配列が適している場合もある。