效果图:
点击后:
.wxml :
<button bindtap="mySort" data-property="time">根据日期排序</button>
<view wx:for="{{arr}}" wx:key="id" wx:for-item="item" data-id="{{item.id}}">
<view>{{item.time}}</view>
</view>
.js :
Page({
data: {
arr: [
{ id: '1', name: '一',time: "2020-11-27" },
{ id: '5', name: '五',time: "2021-11-27" },
{ id: '3', name: '三',time: "2022-11-07" },
{ id: '4', name: '四',time: "2017-05-27" },
{ id: '2', name: '二',time: "2018-06-07" },
],
},
mySort: function (e) {
var property = e.currentTarget.dataset.property;
var sortRule = true; // 正序倒序
this.setData({
arr: this.data.arr.sort(this.compare(property, sortRule)).reverse()
})
console.log('date',this.data.arr)
},
compare: function (property, bol) {
return function (a, b) {
var value1 = Date.parse(new Date(a[property]));
var value2 = Date.parse(new Date(b[property]));
if(bol){
return value1 - value2;
}else {
return value2 - value1;
}
}
},
})