过滤数组

时间:2017-03-22 16:18:10

标签: javascript jquery filtering

我有一个来自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);

我一直在过滤掉一个空白值,我哪里错了?它看起来很近。

2 个答案:

答案 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);