溫馨提示×

JavaScript數(shù)組排序怎樣實現(xiàn)

小樊
81
2024-10-26 01:02:57
欄目: 編程語言

在JavaScript中,可以使用數(shù)組的.sort()方法對數(shù)組進行排序。默認情況下,.sort()方法將數(shù)組元素轉(zhuǎn)換為字符串并按照字符Unicode編碼順序進行排序。如果需要按照其他規(guī)則排序,可以向.sort()方法提供一個自定義的比較函數(shù)。

以下是一些示例:

  1. 使用默認排序規(guī)則(按照字符Unicode編碼順序):
const fruits = ['apple', 'banana', 'kiwi', 'mango'];
fruits.sort();
console.log(fruits); // 輸出: ["apple", "banana", "kiwi", "mango"]
  1. 使用自定義排序規(guī)則(例如,按照數(shù)字大?。?/li>
const numbers = [40, 100, 2, 67];
numbers.sort((a, b) => a - b);
console.log(numbers); // 輸出: [2, 40, 67, 100]

在自定義比較函數(shù)中,如果返回值小于0,則a會排在b之前;如果返回值等于0,則ab的順序不變;如果返回值大于0,則b會排在a之前。

注意:.sort()方法會直接修改原數(shù)組,而不是創(chuàng)建一個新的排序后的數(shù)組。如果需要保留原數(shù)組,可以在排序前創(chuàng)建一個數(shù)組的副本,例如使用slice()方法或擴展運算符(...):

const originalNumbers = [40, 100, 2, 67];
const sortedNumbers = originalNumbers.slice().sort((a, b) => a - b);
console.log(sortedNumbers); // 輸出: [2, 40, 67, 100]
console.log(originalNumbers); // 輸出: [40, 100, 2, 67]

0