2017-06-15 132 views
-1

我有json数组,如下所示,我想检索与team1Id/team2Id匹配的所有对象。Angular 2-如何过滤对象数组?

游戏:[{ “ID”:7935, “位置”: “梅多布鲁克的Ct 2”, “locationId”: “LOC-2”, “TEAM1”: “MADE精英”, “ team1Id “:798, ”team1Score“: ”40“, ”TEAM2“: ”Reisterstown沃尔夫帕克“, ”team2Id“:797, ”team2Score“: ”38“, ”时间“:” 2016-07- 09T08:00:00" },

{ 
     "id": 7936, 
     "location": "Meadowbrook Ct. 4", 
     "locationId": "loc-4", 
     "team1": "DC Premier", 
     "team1Id": 801, 
     "team1Score": "39", 
     "team2": "Severn Elite", 
     "team2Id": 804, 
     "team2Score": "36", 
     "time": "2016-07-09T08:00:00" 
    }, 

    many more 
    ] 

回答

0

简单的方式做的是使用lodash库:

_.filter(games, function(game) { 
    return game.team1Id === YOUR_ID && game.team2Id === YOUR_ID; 
}); 

games:你的JSON bojects的阵列

YOUR_ID:你想与

+1

Doest ES6有一个辅助函数用于过滤。 array.filter(x => x.team1Id == YOURID);更清晰的语法。 –

+0

是的..非常棒的@IzzoObella,谢谢 –

1

比较ID让我们假设你把你的JSON在打字稿反对形式
它看起来像

list:Array<YourObject>=loadYourList();

filtered:Array<YourObject> = list.filter(x=>x.team1Id=='yourID'&& x.team2Id=='your_id'); 
相关问题