//正常的數組比較大小
var arr = [1,5,7,8,932,78,434];
compareFN(arr) {//比較大小函數
var i = 0;
var j = 0;
let t;
for ( i = 0; i < arr.length; i++){
for (j = 0; j < arr.length; j++){
if (arr[i] < arr[j]){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
return arr
}
調用:this.compareFN(arr)
//根據value字段排序數組大小
var arr2 = [
{value:1,name:'df'},
{value:4,name:'fd},
{value:2,name:'hgh},
{value:3,name:'uiu},
]
compareFN(arr,property) {
var i = 0;
var j = 0;
let t;
for ( i = 0; i < arr.length; i++){
for (j = 0; j < arr.length; j++){
if (arr[i][property] < arr[j][property]){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
return arr
},
調用:this.compareFN(arr,'value')
//1.根據時間比較大小(兩兩比較,數組之間比較) 2.外加根據數組某個字段排序
//1.
compareFN1(date1, date2) {//比較日期大小函數
let oDate1 = new Date(date1);
let oDate2 = new Date(date2);
if (oDate1.getTime() < oDate2.getTime()) {
return -1;
} else if (oDate1.getTime() > oDate2.getTime()) {
return 1;
} else {
return 0;
}
},
調用:this.compareFN1('2018-10-11','2018-11-04')
//1.2 使用數組日期比較
var arr = ['2018-10-18','2018-10-1','2018-09-13','2019-03--14'];
compareFN2(arr) {
var i = 0;
var j = 0;
let t;
for ( i = 0; i < arr.length; i++){
for (j = 0; j < arr.length; j++){
let oDate1 = new Date(arr[i]);
let oDate2 = new Date(arr[j]);
if (oDate1.getTime() < oDate2.getTime()){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
return arr
},
調用:this.compareFN2(arr)
//2 使用數組某個字段調用
var arr = [
{date:'2018-10-19',day:'晴朗'},
{date:'2017-12-16',day:'陰雨'},
{date:'2019-07-06',day:'大雨'},
{date:'2016-01-14',day:'大雪'},
]
compareFN(arr,property) {
var i = 0;
var j = 0;
let t;
for ( i = 0; i < arr.length; i++){
for (j = 0; j < arr.length; j++){
let oDate1 = new Date(arr[i][property]);
let oDate2 = new Date(arr[j][property]);
if (oDate1.getTime() < oDate2.getTime()){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
return arr
},
調用:this.compareFN(arr,'date')