我有一个json文件中的people对象数组(总共20个)
{
"id": "1",
"departments": "1",
"name": "Jim Smith",
},
我想过滤ids 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);
我在过滤中一直得到一个空值,我哪里错了?看起来很接近。
发布于 2017-03-23 00:20:08
松散的类型规则:
"1" == 1
"1" !== 1
将===
更改为==
是修复该问题的一种方法。
发布于 2017-03-23 00:36:06
这是因为值是整数,而persion.id是字符串。
您可以使用
return person.id === val.toString()
或
return person.id == val
我更喜欢:
let filtered2 = this.people.filter(function(person) {
return person.id in values;
})
console.log(filtered2);
https://stackoverflow.com/questions/42957316
复制相似问题