2017-06-15 138 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');