首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据条件过滤对象

问根据条件过滤对象
EN

Stack Overflow用户
提问于 2020-05-12 00:35:50
回答 5查看 55关注 0票数 0

我有一个对象作为

代码语言:javascript
复制
sports={
   "cricket":true,
   "football":true,
   "tennis":false
}

我想把所有真实的体育信息过滤到一个像[cricket,football]这样的数组中

EN

回答 5

Stack Overflow用户

发布于 2020-05-12 00:52:32

下面的代码返回数组中真值的键,如cricket,football

代码语言:javascript
复制
const sports = {
  cricket: true,
  football: true,
  tennis: false,
};

const result = Object.keys(sports).filter((current) => {
  return sports[current];
});
票数 2
EN

Stack Overflow用户

发布于 2020-05-12 00:39:30

使用for...in结构:

​

代码语言:javascript
复制
sports={
   cricket:true,
   football:true,
   tennis:false
}
const result = []
for(const sport in sports) {
 if (sports[sport]) result.push(sport)
}
console.log(result)

​

有关for...in的更多信息,请访问:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

票数 1
EN

Stack Overflow用户

发布于 2020-05-12 00:41:41

代码语言:javascript
复制
var sports_arr = Object.keys(sports);
var tmp = [];
for(var i = 0; i < sports_arr.length && sports[sports_arr[i]]; i++)
  tmp.push(sports_arr[i]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61734684

复制
相关文章

相似问题

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