配列内の特定のオブジェクトをターゲットにする
別の配列に基づいてオブジェクトの配列をフィルタリングすることは、さまざまなシナリオで役立ちます。人物オブジェクトの配列と、特定の識別子 (ID など) を含む追加の配列があるシナリオを考えてみましょう。
人の配列が与えられたとします:
const people = [ { id: "1", name: "abc", gender: "m", age: "15" }, { id: "2", name: "a", gender: "m", age: "25" }, { id: "3", name: "efg", gender: "f", age: "5" }, { id: "4", name: "hjk", gender: "m", age: "35" }, { id: "5", name: "ikly", gender: "m", age: "41" }, { id: "6", name: "ert", gender: "f", age: "30" }, { id: "7", name: "qwe", gender: "f", age: "31" }, { id: "8", name: "bdd", gender: "m", age: "78" } ];
と希望の配列ID:
const id_filter = [1, 4, 5, 8];
を使用したオブジェクトのフィルタリングArray.filter
提供された ID に基づいて人の配列をフィルターするには、配列の filter() メソッドを使用できます。このメソッドは、配列の各要素を受け取り、ブール値を返すコールバック関数を受け入れます。フィルタリングのニーズに応えるために、コールバック関数を次のように定義します。
person => id_filter.includes(person.id)
このコールバック関数は基本的に、現在の個人の ID が id_filter 配列に存在するかどうかをチェックします。見つかった場合は true を返します。それ以外の場合は false を返します。
このコールバック関数を使用して、人の配列をフィルタリングできます。
const filteredPeople = people.filter(person => id_filter.includes(person.id));
結果の filteredPeople 配列には、元の配列の ID を持つオブジェクトのみが含まれます。 id_filter の値と一致します。
以上が別の配列の ID に基づいてオブジェクトの配列をフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。