但是,我們在使用中就會發現問題,這里的數組排序方法并不是按照我們想像中的數字大小來排序的,而是按照字符串測試結果改變原先的數據。這并不是我們想要的。
那么如何才可以得到我們想要的按照我們思維中的數字大小來排序呢。我們可以自己編寫一個函數來實現。
var values = [0, 1, 5, 10, 15];
// asc升序函數
function compareAsc(value1, value2) {
if (value1 > value2) {
return 1;
} else if (value1 < value2) {
return -1;
} else {
return 0;
}
}
// desc降序函數
function compareDesc(value1, value2) {
if (value1 > value2) {
return -1;
} else if (value1 < value2) {
return 1;
} else {
return 0;
}
}
values.sort(compareAsc);
console.log(values); // [0, 1, 5, 10, 15]
values.sort(compareDesc);
console.log(values); // [15, 10, 5, 1, 0]