【发布时间】:2014-12-19 19:25:57
【问题描述】:
我有一个应用程序,它需要根据项目是等于当天还是过去来过滤项目。我的日期值被格式化为像“12/19/2014”这样的字符串。
我设置了一个过滤器,但由于日期格式不正确匹配,它返回一个空数组。
app.filter('publishFilter', function() {
return function(items) {
var newItems = [];
var currentDate = new Date();
angular.forEach(items, function(item) {
if (item <= currentDate) {
newItems.push(item);
}
});
return newItems;
}
});
【问题讨论】:
-
当您进行日期比较时,您需要将
item这也是一个字符串转换为日期。即尝试if (new Date(item) <= currentDate) { -
看起来它遍历了每个数字并将它们存储在数组中 ["1","2","1","9","2","0","1" ,"4"]
-
这可能是因为 items 不是你想象的那样。您是否尝试过 console.log 项目?另外你是如何使用这个过滤器的?