JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでオブジェクトを含む「配列の配列」をループ処理する方法

JavaScriptでオブジェクトを含む多次元配列をループするには?

JavaScriptでは、オブジェクトを含む配列の配列(入れ子構造の配列)をループ処理する際、forEach()メソッドをネストして使用し、さらにfor...inループで各オブジェクトのプロパティにアクセスするのが一般的な方法です。

以下に、具体的な実装例を紹介します。

コード例

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 18px;
        font-weight: 500;
        color: rebeccapurple;
    }
</style>
</head>
<body>
<h1>JavaScriptでオブジェクトを含む配列の配列をループ処理</h1>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>上のボタンをクリックすると、arrObjの中身が表示されます</h3>
<script>
    let BtnEle = document.querySelector(".Btn");
    let resEle = document.querySelector(".result");
    let arrObj = [
        [
            { name: "Rohan", age: 22 },
            { name: "Mohan", age: 12 },
            { name: "Shawn", age: 14 },
        ],
        [
            { id: 12, price: 44 },
            { id: 23, price: 45 },
            { id: 91, price: 14 },
        ],
    ];
    BtnEle.addEventListener("click", () => {
        arrObj.forEach((item) => {
            item.forEach((object) => {
                for (let i in object) {
                    resEle.innerHTML += i + " : " + object[i] + " ";
                }
                resEle.innerHTML += "";
            });
        });
    });
</script>
</body>
</html>

実行結果

上記のコードを実行すると、以下のような画面が表示されます。

JavaScriptでオブジェクトを含む「配列の配列」をループ処理する方法

「CLICK HERE」ボタンをクリックすると、各オブジェクトのプロパティと値がすべて出力されます。

JavaScriptでオブジェクトを含む「配列の配列」をループ処理する方法

コードの解説

このコードのポイントは以下のとおりです。

  • 外側のforEach():配列の各要素(つまり内側の配列)を順番に取り出します。
  • 内側のforEach():取り出した配列に含まれる各オブジェクトにアクセスします。
  • for...inループ:各オブジェクトのプロパティ名(キー)を1つずつ取得し、対応する値を出力します。

このように、forEach()for...inを組み合わせることで、どれほど深く入れ子になった構造でも柔軟にデータを走査できます。また、ES2015以降ではfor...ofObject.entries()を使うことでも同様の処理が可能なので、用途に応じて使い分けるとよいでしょう。

  1. JavaScriptで配列をループ処理する方法まとめ|for文・while文・do…while文の使い方

    JavaScriptには、配列をループ処理するためのさまざまな方法が用意されています。それぞれの特徴を理解して使い分けることで、より効率的で読みやすいコードを書くことができます。本記事では、代表的なループ構文の基本と実行例をわかりやすく解説します。 JavaScriptのforループ まずは基本となるforループから見ていきましょう。JavaScriptのforループには主に2つの形式があります。1つ目は「初期化式・条件式・更新式」を指定する形式です。最初に初期化ステートメントを実行し、各イテレーションのたびに更新式を実行してから条件式を評価します。条件がtrueである限り、ループは繰り返され

  2. JavaScriptでIDごとにオブジェクトの配列をグループ化する方法

    JavaScriptでオブジェクトの配列をidなどの特定のキーごとにグループ化したい場合、reduce()メソッドを使うと簡潔に実装できます。この記事では、どのプロパティにも対応できる汎用的なgroupBy関数を作成し、実際のサンプルコードとともにその仕組みを詳しく解説します。 reduce()によるグループ化の考え方 reduce()は、配列の各要素を順番に処理しながら、1つの累積値(ここではオブジェクト)を組み立てていくメソッドです。各要素からキーの値を取り出し、その値がまだ結果オブジェクトに存在しなければ新しい配列を作成して、そこへ要素を追加していくことでグループ化を実現します。 サ