我正在使用angularjs的过滤器,我正在尝试获取具有相同日期的元素,通过这样做:
$scope.getFilebyDate= function(date){
return $filter('filter')($scope.files, moment(date).format("YYYYMMDDHHmmss"));
}
我的文件数组就是这样组成的
[["20011110000000","#DT#20011110000000#ED#20021110000000Filename1"],
["20011110000000","#DT#20011110000000#ED#20021110000000#Filename2"],
["20021110000000","#DT#20021110000000#Filename3"] ]
我的问题是我的功能无法正常工作我想只使用第一列进行过滤,即使在第二列中,我所做的似乎也在寻找日期。
答案 0 :(得分:1)
如果您只想过滤数组的第一个“列”,您可能希望将表达式函数作为$filter
函数调用的第二个参数传递,在这里您可以对您进行特定的比较使用数组中的第一个项目/列格式化date
:
$filter('filter')($scope.files, function(value, index, array) {
return value[0] === moment(date).format('YYYYMMDDHHmmss');
});
请参阅此plnkr以获取一个工作示例:http://plnkr.co/edit/kvfMnNoIMi7q1D4ChDIJ?p=preview
答案 1 :(得分:0)
您似乎缺少过滤函数的参数。以下是AngularJS filter docs:$filter('filter')(array, expression, comparator)