我在json文件中有一些数据,但是顺序错误,我需要按财务年度而不是常规年度显示数据。
例如,代替1月17日,2月17日,3月17日,4月17日,5月17日,6月17日,7月17日,8月17日,9月17日,10月17日,11月17日,12月17日。 它需要是3月17日,4月18日,5月18日,6月18日,7月18日,8月18日,9月18日,10月18日,11月18日,12月18日,1月19日,2月19日,4月19日,3月19日。
如何对json文件数据进行排序,使其以第二顺序显示?
HTML: 这是用于显示月份数据的HTML代码。
<table id ="t2">
<tr>
<th class="line">Line 1</th>
<th class="y18" *ngFor="let volumes of volumes">{{ volumes.month | uppercase }}</th>
</tr>
JSON: 这是JSON文件的示例。
{
"id": 1,
"month": "2017-03-01",
"line": 1,
"modelVolumes": [
{
"id": 367,
"model": "car1",
"number": 615
},
{
"id": 368,
"model": "car2",
"num": 5925,
},
{
"id": 369,
"model": "car3",
"num": 0
}
]
},
{
"id": 2,
"month": "2017-04-01",
"line": 1,
"modelVolumes": [ ]
},
{
"id": 12,
"month": "2018-02-01",
"line": 1,
"modelVolumes": []
}
为了更好地理解,这是只有几个月的json文件: { “ id”:2 “ month”:“ 2017-03-01”, } { “ id”:2 “ month”:“ 2017-04-01”, } { “ id”:2 “ month”:“ 2017-05-01”, } { “ id”:2 “ month”:“ 2017-06-01”, } { “ id”:2 “ month”:“ 2017-07-01”, } { “ id”:2 “ month”:“ 2017-08-01”, } { “ id”:2 “ month”:“ 2017-09-01”, } { “ id”:2 “ month”:“ 2017-10-01”, } { “ id”:2 “ month”:“ 2017-04-01”, } { “ id”:2 “ month”:“ 2017-04-01”, } { “ id”:2 “ month”:“ 2017-11-01”, } { “ id”:2 “ month”:“ 2017-12-01”, } { “ id”:2 “ month”:“ 2018-01-01”, } { “ id”:2 “ month”:“ 2018-02-01”, } { “ id”:2 “ month”:“ 2018-03-01”, } { “ id”:2 “ month”:“ 2018-04-01”, } { “ id”:2 “ month”:“ 2018-05-01”, } { “ id”:2 “ month”:“ 2017-03-01”, } { “ id”:2 “ month”:“ 2017-04-01”, }
答案 0 :(得分:0)
请尝试以下类似方法。这应该使您对如何为数据实现它有一个好主意。
// Code goes here
var financialYear = 2001;
var dates = ['2000-05-01', '2001-04-01', '2001-05-01', '2001-03-01', '2001-02-01', '2002-02-01', '2002-03-01', '2002-04-01', '2002-05-01'];
var filteredDates = dates.filter(function(date){
date = new Date(date);
var year = date.getFullYear();
var mon = date.getMonth();
if((year === financialYear && mon > 1) || (year === financialYear + 1 && mon < 4)){
return true;
}
return false;
});
console.log('Filtered Dates: ', filteredDates);
var sortedDates = filteredDates.sort(function(d1, d2){
return new Date(d1) - new Date(d2);
})
console.log('Sorted Dates: ', sortedDates);