2016-06-21 17 views
0

PFBカスタムフィルタのコード。ドロップダウン値のパラメータviewbookoptionが使用されます。 ドロップダウン値に基づいて、データがグリッドに表示されます。ここでは各ループ用に実装されていますが、正しく機能していないため、ループをたどり続けて10000レコードに近づけますが、グリッドに表示されます。Angular.forEachループが正常に動作しない

この点に関するお手伝いをさせていただきます。

Controllers.filter('filterUnissued', function() { 
    return function(books, viewbookoption) { 
     if (viewbookoption == "All Books") { 
     return books; 
     } else { 
     angular.forEach(books, function(book) { 
      if (book.issued == false) { 
      books.push(book); 
      } 
     }); 
     } 
     return books; 
    } 
}); 
+0

あなたが押し込んでいる同じ配列を反復しています – charlietfl

+0

うん!!私の悪い...案内のためにありがとう –

答えて

3

要素を既存のbooks配列にプッシュしています。その代わりに、新しい配列を作成し、それを押してください。

var filteredBooks = [] 
angular.forEach(books, function(book) { 
    if (book.issued == false) { 
    filteredBooks.push(book); 
    } 
}); 
return filteredBooks; 

または、より良い、Array.filter.prototypeメソッドを使用します:あなたが使用するために非常に良い理由がない限り

return books.filter(function(book) { 
    return book.issued === false; 
}); 

(また、常に==、代わりに== ===の使用を、このような。)

+0

ありがとうAndrew !!それは私の問題を解決した。 –

+0

問題ありません! Stackoverflowへようこそ。私はここでそれが役に立つと思います。 –

関連する問題