JS數組之重排序方法


重排序方法

1. reserve() 反轉

反轉數組中元素的順序。

2. sort() 重排序(默認升序)

sort()方法可以對數組中的每一個元素進行排序,但是問題來了,即便數組元素全部都是數值類型,此方法依然會將所有元素先轉換成字符串再進行升序排序。
因此,為了解決這個問題,sort()方法允許傳入一個比較函數作為參數,實現升序或者降序。

var arr = [0, 1, 5, 10, 15];
// reserve()反轉、  sort()升序(小 => 大)
console.log(arr.reverse()); // 返回反轉后的新數組 [15, 10, 5, 1, 0]
console.log(arr); // [15, 10, 5, 1, 0]

// sort()方法比較的始終是字符串
console.log(arr.sort()); // 返回排序后的新數組 [0, 1, 10, 15, 5]
console.log(arr); // [0, 1, 10, 15, 5]

// 為了解決使用sort()會轉換成字符串后再比較的問題,sort()方法可以傳入一個比較函數。
function compareMinToMax(value1, value2) { // 升序函數
    return value1 - value2;
}
arr.sort(compareMinToMax); // 傳入比較函數
console.log(arr); // [0, 1, 5, 10, 15]

function compareMaxToMin(value1, value2) { // 降序函數
    return value2 - value1;
}
arr.sort(compareMaxToMin); // 傳入比較函數
console.log(arr); // [15, 10, 5, 1, 0]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM