首頁 >web前端 >js教程 >如何根據另一個陣列中的 ID 過濾物件數組?

如何根據另一個陣列中的 ID 過濾物件數組?

Barbara Streisand
Barbara Streisand原創
2024-12-10 20:04:11713瀏覽

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

使用過濾對象Array.filter

person => id_filter.includes(person.id)

要依照提供的ID 過濾人員數組,我們可以使用數組的filter()方法。此方法接受一個回調函數,該函數接收數組的每個元素並傳回一個布林值。為了滿足我們的濾波需求,我們定義回呼函數如下:

此回呼函數本質上檢查目前人的 ID 是否存在於 id_filter 陣列中。如果找到則傳回true;否則,它傳回 false。
const filteredPeople = people.filter(person => id_filter.includes(person.id));

利用此回呼函數,我們現在可以過濾人員數組:

產生的filteredPeople 數組將只包含原始數組中 ID 的物件匹配 id_filter 中的值。

以上是如何根據另一個陣列中的 ID 過濾物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn