【发布时间】:2019-09-11 07:49:06
【问题描述】:
我正在尝试通过此处示例的另一个对象过滤对象列表
// the list need to be filtered
const list = [
{
"id": 1,
"name": "Loraine Mueller",
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/BroumiYoussef/128.jpg",
"status": "offline",
"language": "German",
"rating": 4,
"reviews": 4308
},
{
"id": 2,
"name": "Katarina Kilback",
"avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/dvdwinden/128.jpg",
"status": "online",
"language": "German",
"rating": 5,
"reviews": 8484
}
]
const filterBy = {
status: {
online: true,
offline: false
},
language: {
english: true,
german: false
}
}
实现 _filterList(list, filterBy) 的想法:返回带有在线和德语项目的过滤列表
我尝试了什么
const _filter = (rows, filterBy) => {
let result = [...rows];
Object.keys(filterBy)
.map(key => result = [...result.filter(row => filterBy[key].includes(row[key]))]);
return result;
}
【问题讨论】:
-
请添加想要的结果。过滤器中的
true/false是什么意思? -
请指定您想要的过滤器。
-
真实值,即 ["german"] 和 ["online"]
-
您要使用
filterBy或filters还是两者都使用,它们如何连接到resutl 以及彼此?请添加想要的结果。 -
您的 sn-p 与您的规格不符,并混淆了答案。请删除或编辑以符合规范。
标签: javascript arrays ecmascript-6 filter