ネストされた値に基づく配列によるオブジェクトの配列のフィルタリング
プログラミングでは、多くの場合、特定の基準に基づいて配列をフィルタリングする必要があります。入れ子になった配列を含む複雑なオブジェクト構造を扱う場合、フィルタリング プロセスがより困難になる可能性があります。この質問では、開発者がネストされたオブジェクトの値に基づいてオブジェクトの配列をフィルター処理する必要がある問題について説明します。
望ましい変換は、特定の値を満たさないサブ配列内の要素をフィルターで除外することです。入力配列には、「name」プロパティを持つオブジェクトと「subElements」配列が含まれており、それぞれに「surname」プロパティを持つオブジェクトが含まれます。目標は、「surname」が 1 に等しくないすべてのサブ要素を削除することです。
最初に、開発者は次のフィルタリング ロジックを試みました:
let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));
このアプローチではオブジェクトが次のように識別されました。少なくとも 1 つの有効なサブ要素を削除できませんでした。この問題に対処するには、より包括的なフィルタリング メカニズムを利用できます。
arrayOfElements.map((element) => { return {...element, subElements: element.subElements.filter((subElement) => subElement.surname === 1)} })
この更新されたコードでは、「map」メソッドを使用して配列を走査します。元のオブジェクトを保存し、変更された「subElements」配列を使用して新しいオブジェクトを作成します。 「filter」メソッドは、「surname」値 1 を満たさないサブ要素を削除するために使用されます。
このフィルタリング手法を組み込むことにより、開発者は無効なサブ要素を効果的に削除し、目的の変換を達成できます。オブジェクトの配列
以上が特定のネストされた値に基づいて、ネストされた配列を含むオブジェクトの配列をフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。