2016-07-24 42 views
0
var data = { 
     "eventsHistory": [ 
      { 
       "gameType": "RACE", 
       "gameSubType": "HORSE", 
      }, 
      { 
       "gameType": "RACE", 
       "gameSubType": "DOG", 
      }, 
      { 
       "gameType": "NORACE", 
      } 
      ]}; 

我有这个结构。我想显示所有的游戏类型。但是当有一个gameSubType时,只显示这个值并跳过所有的gameType RACE。Loop through Object并显示不同的键

例如:结果应该是: 马,狗,NORACE

我无法找到一个方法来正确地表现出来。有人可以帮忙吗?

回答

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

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

希望这有助于你。谢谢