我需要按月而非日期显示帐户对帐单。我有一个类似下面的日期;
日期数组
[
"2018-12-15T06:36:56",
"2018-12-14T06:36:56",
"2018-12-16T06:36:56",
"2018-12-01T06:36:56",
"2018-11-13T06:36:56",
"2018-11-01T06:36:56"
]
基于以上示例,我能够遍历每个示例并以人类可读格式分别显示节目。但是,如果有多个日期,我只想显示一个月。
---- P.S ----
我能够将上述数组过滤为“月和年格式(MM-YYYY)”,并且在控制台中也得到了响应。但是我面临在forEach循环外传递此数组的问题。
平均值,如果我在循环内进行此操作,则我将获得阵列形状的正确响应。但是在循环外之后,我只能看到数组对象的最后一个字符串。
请进一步检查plunkr demo
答案 0 :(得分:0)
没关系,在撞到墙壁上碰碰运气后,我设法做到了。
首先我修改了具有以下循环的“月-年”格式的数组。
$scope.statementListRespone = [
"2018-12-15T06:36:56",
"2018-12-14T06:36:56",
"2018-12-16T06:36:56",
"2018-12-01T06:36:56",
"2018-11-13T06:36:56",
"2018-11-01T06:36:56"
]
var listOutput = $scope.statementListRespone;
var outputList = [];
angular.forEach(listOutput, function(type, $index) {
output = $filter('date')(listOutput[$index], "MMM yyyy");
if (output.indexOf(type) === -1) {
// push this item to our final output array
outputList.push(output);
}
});
$scope.outputListFiltered = outputList;
这将为我们提供如下结果;
outputList:修改后的数组
[
"Oct 2018",
"Nov 2018",
"Nov 2018",
"Dec 2019",
"Dec 2019",
"Dec 2019",
"Dec 2019"
]
比视图部分多,我在(plunkr)的第27行中更新了循环代码;
查看
<tr ng-repeat="stateItem in sortedType = (outputListFiltered | unique)">
注意:我使用angular.filter库过滤唯一值。