首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤数组

过滤数组
EN

Stack Overflow用户
提问于 2017-03-23 00:18:10
回答 2查看 34关注 0票数 0

我有一个json文件中的people对象数组(总共20个)

代码语言:javascript
运行
复制
{
      "id": "1",
      "departments": "1",
      "name": "Jim Smith",

},

我想过滤ids 1、5和10

代码语言:javascript
运行
复制
let values = [1,5,10];

let filtered =this.people.filter(function(person) {
    return values.some(function(val) { return person.id === val });
})


console.log(filtered);

我在过滤中一直得到一个空值,我哪里错了?看起来很接近。

EN

回答 2

Stack Overflow用户

发布于 2017-03-23 00:20:08

松散的类型规则:

代码语言:javascript
运行
复制
"1" == 1
"1" !== 1

===更改为==是修复该问题的一种方法。

票数 2
EN

Stack Overflow用户

发布于 2017-03-23 00:36:06

这是因为值是整数,而persion.id是字符串。

您可以使用

代码语言:javascript
运行
复制
return person.id === val.toString()

代码语言:javascript
运行
复制
return person.id == val

我更喜欢:

代码语言:javascript
运行
复制
let filtered2 = this.people.filter(function(person) {
  return person.id in values;
})
console.log(filtered2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42957316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档