javascript - 使用基于另一个数组的对象动态过滤数组
问题描述
使用基于另一个数组的对象动态过滤数组。
我需要使用另一个数组过滤主数组。但是过滤器数组将只包含几个字段或几个。
var codes = [{
"title": "lore",
"city": "New York",
"desc": "lorem lorem",
"age": "32"
},
{
"title": "lore2 ",
"city": "Santa Monica",
"desc": "lorem2",
"age": "20"
}
];
let filter = [{
"city": "New York"
}, {
"age": "20"
},
...或更多过滤器。此过滤器由单击复选框的人动态创建。
]
解决方案
这应该工作
let codes = [{
"title": "lore",
"city": "New York",
"desc": "lorem lorem",
"age": "20"
},
{
"title": "lore2 ",
"city": "Santa Monica",
"desc": "lorem2",
"age": "20"
}
];
let filter = [{
"city": "New York"
}, {
"age": "20"
}];
let res = codes.filter(code => {
return filter.every(f => {
const [key, value] = Object.entries(f)[0];
return code[key] == value
});
});
console.log(res)
推荐阅读
- node.js - Heroku App 上的 Reactjs 部署崩溃
- data-structures - 你能通过只反转它的头和尾指针来反转一个队列吗?
- .net - Directory.Build.Props 不是 nuget 包中的覆盖属性
- java - 显示屏幕截图:范围报告中的无
- ios - 在 ViewController 中加载分段视图,但 UISegmentControl 在 UIView 类中
- jsf - selectCheckboxMenu 总是验证失败(空)
- javascript - 如何在 v-card for 循环中设置布尔变量?
- c# - 如何为测试人员传递运行时参数文件以从 azure 管道运行集成测试,
- python - 内核大小不能大于实际输入大小
- python - 拆分列表,最简单的方法