遍历对象并显示不同的键

Loop through Object and show different keys

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

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

例如:结果应该是: 马、狗、诺拉斯

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

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);
      }

    }
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"]

希望对您有所帮助。谢谢