Получить ключи из значения JSON Ответ в React native - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть ответ JSON в форме ниже: Моя проблема в том, что я хочу отображать каждый ключ со значением, равным 1, как здесь, в этом ответе «пятница»: «1», и игнорировать нулевые значения. Я написал код, который показывает мне только один ключ, соответствующий значению 1. Но я хочу отобразить каждый ключ со значением 1. Пожалуйста, помогите мне. Заранее спасибо

{
"data": {
    "timetable": [
        {
            "id": 2,
            "tid": "91",
            "cid": "1",
            "monday": null,
            "tuesday": null,
            "wednesday": null,
            "thursday": null,
            "friday": "1",
            "saturday": null,
            "sunday": null,
            "ti1_2": null,
            "ti2_3": null,
            "ti3_4": null,
            "ti4_5": null,
            "ti5_6": null,
            "ti6_7": null,
            "ti7_8": null,
            "ti8_9": null,
            "ti9_10": null,
            "ti10_11": "10-11",
            "ti11_12": null,
            "ti12_13": null,
            "ti13_14": null,
            "ti14_15": null,
            "ti15_16": null,
            "ti16_17": null,
            "ti17_18": null,
            "ti18_19": null,
            "ti19_20": null,
            "ti20_21": null,
            "ti21_22": null,
            "ti22_23": null,
            "ti23_24": null,
            "created_at": "2019-02-15 10:27:57",
            "updated_at": "2019-02-15 10:27:57"
        }
    ]
},

}

Я просто хочу получить те дни в расписании, которые равны '1' и отображаются в плоском списке. то есть 'пятница': '1' Я попробовал код, это метод

getKeyByValue = (object, value) => { 

  for (var key in object) {
    if(object[key] === value){
      return (<Text>{key}</Text>);
    }
}

}

метод renderItem для элемента плоского списка


    <View>
        <Text>{this.getKeyByValue(item , '1')}</Text>
    </View>
  );

and this is my flatlist

    <FlatList
                          data={this.state.data.timetable}
                           renderItem={this.renderItem}
                           horizontal={true}
                           keyExtractor={(item, index) => index}
                           contentContainerSty`le={{
                               flexGrow: 1,
                               }} />



...