如何获取其值等于True的数组的键

时间:2019-04-04 21:41:53

标签: javascript arrays object

我试图用“ T”(真)值获取对象上的所有键,并在组件中显示它们,但我遇到了麻烦。

我尝试了for和forEach,但是我无法获取密钥。

这是我的渲染方法,这是对象

render(){
   const races = this.state.data.racesTrack.Races;
        const racesList = [];
}

我需要这样看

exacta
hq
place:
quinella
show: 
spr: 
trifecta: 
wps:


  Image with the object: https://i.stack.imgur.com/en09V.png

2 个答案:

答案 0 :(得分:2)

您可以在ES6中执行以下操作:

var raceList = []
var races = {
  a: "T",
  b: "F",
  c: "T",
  d: "F"
}

for (key in races) {
  if (races[key] == "T") {
    raceList.push(key)
  }
}

console.log(raceList)

答案 1 :(得分:0)

您要问的问题与Reactjs无关,而是关于javascript的基础。

一个更简单的解决方案可以使用“对象键数组”和“过滤器”方法:

var race = {
  a: "T",
  b: "F",
  c: "T",
  d: "F"
}
var sort = Object.keys(race).filter((key)=>{
  return race[key]==='T'
})
console.log(sort)