特定のネストされた値に基づいて、ネストされた配列を含むオブジェクトの配列をフィルターする方法

DDD
リリース: 2024-10-31 12:40:02
オリジナル
780 人が閲覧しました

How to Filter an Array of Objects with Nested Arrays Based on a Specific Nested Value?

ネストされた値に基づく配列によるオブジェクトの配列のフィルタリング

プログラミングでは、多くの場合、特定の基準に基づいて配列をフィルタリングする必要があります。入れ子になった配列を含む複雑なオブジェクト構造を扱う場合、フィルタリング プロセスがより困難になる可能性があります。この質問では、開発者がネストされたオブジェクトの値に基づいてオブジェクトの配列をフィルター処理する必要がある問題について説明します。

望ましい変換は、特定の値を満たさないサブ配列内の要素をフィルターで除外することです。入力配列には、「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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート