![](/img/trans.png)
[英]Convert javascript date format from yyyy.mm.dd to dd.mm.yyyy
[英]Sorting the Date of Format DD.MM.YYYY in javascript
我有一组带有日期和列表的数据。 我需要对字段进行排序。 我可以对除日期以外的所有其他字段进行排序。 在代码下面找到。 而且,如果我对“名称”列进行排序,其他两列的图标也会发生变化。 我想要的解决方案就像我对特定列进行排序一样,该特定列箭头图标不应更改其他两列图标。
所以我的问题是如何对日期列进行排序,并且该特定列的图标应该仅在我点击该特定列时更改。
HTML
<ion-row class="header-row">
<ion-col size="1" tappable (click)="sortBy('Name')">
<b>FirstName</b>
<ion-icon name="arrow-down" *ngIf="sortDirection==1"></ion-icon>
<ion-icon name="arrow-up" *ngIf="sortDirection==2"></ion-icon>
</ion-col>
<ion-col size="1" tappable (click)="SortBy('PurchaseDate')">
<b>Purchase Date</b>
<ion-icon name="arrow-down" *ngIf="sortDirection==1"></ion-icon>
<ion-icon name="arrow-up" *ngIf="sortDirection==2"></ion-icon>
</ion-col>
<ion-col size="1" tappable (click)="sortBy('CarName')">
<b>Car Name</b>
<ion-icon name="arrow-down" *ngIf="sortDirection==1"></ion-icon>
<ion-icon name="arrow-up" *ngIf="sortDirection==2"></ion-icon>
</ion-col>
</ion-row>
<ion-card class="cardbottomfield colpadding">
<div *ngFor="let purchase of purchasedetails ; trackBy: trackByFn" class="data-row">
<ion-row>
<ion-col size="1">
{{purchase.Name}}
</ion-col>
<ion-col size="1" >
{{purchase.PurchaseDate}}
</ion-col>
<ion-col size="1">
{{purchase.CarName}}
</ion-col>
</ion-row>
</div>
</ion-card>
打字稿
sortBy(key) {
this.sortKey= key;
this.sortDirection++;
this.sort();
}
sort() {
if(this.sortDirection == 1) {
this.purchasedetails = this.purchasedetails.sort((a,b) => {
const valA = a[this.sortKey];
const valB = b[this.sortKey];
return valA.localeCompare(valB);
});
} else if (this.sortDirection == 2) {
this.purchasedetails = this.purchasedetails.sort((a,b) => {
const valA = a[this.sortKey];
const valB = b[this.sortKey];
return valB.localeCompare(valA);
});
} else {
this.sortDirection = 0;
this.sortKey = null;
}
}
按格式日期对对象数组进行排序 ( DD.MM.YYYY
)
datesObject.sort(function(a, b){
let curr = a.date.split('.').reverse().join();
let prev = b.date.split('.').reverse().join();
return curr < prev ? -1 : (curr > prev ? 1 : 0);
});
Date
对象valueOf
升序排序 const parseDate = (dateStr) => { const [d, m, y] = dateStr.split('.') .map(Number) return new Date(y, m - 1 /* month is 0-indexed */, d) } const sortDatesAsc = (dateStr1, dateStr2) => { return parseDate(dateStr2).valueOf - parseDate(dateStr1).valueOf } console.log([ '10.01.2010', '01.10.2010', '10.10.2020', ].sort(sortDatesAsc))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.