根据javascript中的另一个数组过滤对象数组 [英] filtering an array of objects based on another array in javascript
本文介绍了根据javascript中的另一个数组过滤对象数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个对象数组
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_filter = [1,4,5,8]
如果id
与id_filter
数组和gender = m
我该如何使用过滤器功能在javascript中执行此操作?
How do I do this in javascript using filter function ?
推荐答案
You can use array.filter()
with few conditions to get the output you want. Also i have corrected your JSON.
var filtered = people.filter(function(item) {
return id_filter.indexOf(item.id) !== -1 && item.gender==='m';
});
演示
var 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": " 8" }
];
var id_filter = [1,4,5,8];
var filtered = people.filter(function(item) {
return id_filter.indexOf(item.id) !== -1 && item.gender==='m';
});
console.log(filtered);
这篇关于根据javascript中的另一个数组过滤对象数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文