ホームページ > ウェブフロントエンド > jsチュートリアル > 別の配列の ID に基づいてオブジェクトの配列をフィルターする方法

別の配列の ID に基づいてオブジェクトの配列をフィルターする方法

Barbara Streisand
リリース: 2024-12-10 20:04:11
オリジナル
727 人が閲覧しました

How to Filter an Array of Objects Based on IDs from Another Array?

配列内の特定のオブジェクトをターゲットにする

別の配列に基づいてオブジェクトの配列をフィルタリングすることは、さまざまなシナリオで役立ちます。人物オブジェクトの配列と、特定の識別子 (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 サイトの他の関連記事を参照してください。

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