JavaScriptでネストされた配列内の要素を検索する方法


  1. リニアサーチを使用する方法: ネストされた配列内の要素を検索するために、リニアサーチ(線形探索)アルゴリズムを使用することができます。このアルゴリズムは、配列内の要素を順番に比較し、目的の要素を見つけるまで続けます。

    function searchNestedArray(array, target) {
     for (let i = 0; i < array.length; i++) {
       if (Array.isArray(array[i])) {
         const result = searchNestedArray(array[i], target);
         if (result) {
           return result;
         }
       } else if (array[i] === target) {
         return array[i];
       }
     }
     return null;
    }
    const nestedArray = [1, 2, [3, 4, [5, 6]]];
    const targetElement = 5;
    const foundElement = searchNestedArray(nestedArray, targetElement);
    console.log(foundElement); // 結果: 5
  2. flat() メソッドを使用する方法: Array.prototype.flat() メソッドを使用すると、ネストされた配列をフラットな配列に変換することができます。その後、フラットな配列で通常の配列の検索操作を行うことができます。

    const nestedArray = [1, 2, [3, 4, [5, 6]]];
    const flatArray = nestedArray.flat(Infinity);
    const targetElement = 5;
    const foundElement = flatArray.find((element) => element === targetElement);
    console.log(foundElement); // 結果: 5

これらの方法を使うと、JavaScriptでネストされた配列内の要素を効率的に検索することができます。適宜、自身の要件に合わせてコードを調整してください。