js 给时间或中文汉字排序
eg: 对数据早餐,晚餐,中餐,按早中晚的顺序排序
1.已知时间,比较时间大小。
2.未知时间,直接排序汉字
let dataList1=[{name:'早餐',mealStartTime:'8:30:00'},{name:'晚餐',mealStartTime:'18:30:00'},{name:'午餐',mealStartTime:'12:30:00'}]
let dataList2=['晚餐','早餐','午餐']
let list =that.compareConsumeType(dataList,'mealStartTime')
let arr =that.compareConsumeType(dataList2,' ')
//将时分秒转为时间戳 将18:30:30 转时间戳
time_to_sec(time) {
if (time !== null) {
var s = "";
var hour = time.split(":")[0];
var min = time.split(":")[1];
var sec = time.split(":")[2];
s = Number(hour * 3600) + Number(min * 60) + Number(sec);
return s;
}
},
//将餐别按早午晚顺序排序,name(早午晚对应的时间)存在时
compareConsumeType(arr,name){
if(name){
arr.sort((a,b)=>{
return common.time_to_sec(a[name])-common.time_to_sec(b[name])
})
}else{
arr.sort((a,b)=>{ //中文字符排序 ,早餐-午餐-晚餐
return b.localeCompare(a,'zh-CN')
})
}
return arr
},