我有一个来自json文件的人物对象(总共20个)
{
"id": "1",
"departments": "1",
"name": "Jim Smith",
},
我想过滤ID 1,5和10
let values = [1,5,10];
let filtered =this.people.filter(function(person) {
return values.some(function(val) { return person.id === val });
})
console.log(filtered);
我一直在过滤掉一个空白值,我哪里错了?它看起来很近。
答案 0 :(得分:2)
宽松的输入规则:
"1" == 1
"1" !== 1
将===
更改为==
是解决此问题的一种方法。
答案 1 :(得分:0)
这是因为值是整数,而persion.id是String。
你可以使用
return person.id === val.toString()
或
return person.id == val
我更喜欢:
let filtered2 = this.people.filter(function(person) {
return person.id in values;
})
console.log(filtered2);