定位数组中的特定对象
根据不同的数组过滤对象数组在各种情况下都很有用。考虑这样一个场景,我们有一个人员对象数组和一个包含特定标识符(例如 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中文网其他相关文章!