2014-12-23 71 views
0

說我有以下數組:篩選與數組中的javascript AngularJS

var x = [{letter: 'A', number: 1}, {letter: 'B', number: 2}, {letter: 'C', number: 3}] 

而且我想用這個數組來過濾:

var f = ['A', 'B'] 

所以,我的結果數組是這樣的:

[{letter: 'A', number: 1}, {letter: 'B', number: 2}] 

我該如何在AngularJS中使用javascript來實現這個功能?我想這一點,但沒有運氣:

$filter('filter')(x, {letter: f}); 

回答

1

如果你想使用AngularJS的過濾器模塊,那麼你就可以做到以下幾點:

var x = [{letter: 'A', number: 1}, {letter: 'B', number: 2}, {letter: 'C', number: 3}] 

var f = ['A', 'B'] 

function filterExp(value,index) { 
    return (f.indexOf(value.letter) > -1) 
} 

$scope.filtered = $filter('filter')(x, filterExp, true); 

我創建了一個JSFiddle來演示其結果。