#javascript #arrays #object
#javascript #массивы #объект
Вопрос:
Я пытаюсь получить все ключи на моем объекте со значением «T» (true) и показать их в компоненте, но у меня возникают проблемы.
Я пытался с помощью 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
Комментарии:
1. Не могли бы вы вставить объект в надлежащем синтаксисе?
2. Добавлено изображение с объектом
3. Проблема, о которой вы спрашиваете, не связана с Reactjs и касается основ javascript. Только что опубликовал ответ для вас.
Ответ №1:
Вы можете сделать что-то подобное в 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)
Ответ №2:
Проблема, о которой вы спрашиваете, не связана с Reactjs и касается основ javascript.
Более простым решением может быть использование массива ключей объектов и метода Filter:
var race = {
a: "T",
b: "F",
c: "T",
d: "F"
}
var sort = Object.keys(race).filter((key)=>{
return race[key]==='T'
})
console.log(sort)
Комментарии:
1. Может быть сокращено до
.filter(key => race[key] === 'T')
.