循环对象并显示不同的键

时间:2016-07-24 10:45:44

标签: json loops object key

var data = {
        "eventsHistory": [
            {
                "gameType": "RACE",
                "gameSubType": "HORSE",
            },
            {
                "gameType": "RACE",
                "gameSubType": "DOG",
            },
            {
                "gameType": "NORACE",
            }
            ]};

我有这个结构。我想显示所有gameType。但是当有gameSubType时,则只显示此值并跳过所有gameType RACE。

例如:结果应为: HORSE,DOG,NORACE

我找不到正确显示方法。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

javascript具有hasOwnProperty方法来检查对象上的键是否存在

    var json = data.eventsHistory;
    for (var i = 0; i < json.length; i++) {
      if (json[i].hasOwnProperty("gameSubType"))
      {
        console.log(json[i].gameSubType);
      }else {
        console.log(json[i].gameType);
      }

    }

答案 1 :(得分:0)

var List = [];    
for (var i=0; i < data.eventsHistory.length; i++) {
    List.push(data.eventsHistory[i].gameSubType ? data.eventsHistory[i].gameSubType : data.eventsHistory[i].gameType)
}
console.log(List)
["HORSE", "DOG", "NORACE"]

希望这会对你有所帮助。感谢