[英]Angular.forEach loop is not working properly
PFB我的自定义过滤器的代码,其中包含一个参数viewbookoption
,这是一个下拉值。 基于下拉值,数据将显示在网格中。我在这里实现了forEach循环,但它无法正常运行,并且不断遍历该循环,使我接近10000条记录,但实际上我只有10条记录需要显示在网格中。
在这方面的任何帮助将不胜感激。
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;
}
});
您正在将元素推到现有的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;
});
(此外,除非有充分的理由使用==,否则始终使用===而不是==。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.