溫馨提示×

JavaScript數組排序如何處理

小樊
88
2024-10-26 01:07:59
欄目: 編程語言

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

比較函數應該接受兩個參數(通常稱為ab),并返回一個負數、零或正數,來表示a應該被放置在b之前、兩者排序無關或放置在b之后。

下面是一些示例:

  1. 默認排序(按照字符串順序):
const fruits = ['apple', 'banana', 'kiwi', 'mango'];
fruits.sort();
console.log(fruits); // 輸出: ["apple", "banana", "kiwi", "mango"]
  1. 按照數字大小排序:
const numbers = [40, 100, 2, 67];
numbers.sort((a, b) => a - b);
console.log(numbers); // 輸出: [2, 40, 67, 100]
  1. 按照字符串長度排序:
const words = ['I', 'love', 'coding', 'JavaScript'];
words.sort((a, b) => a.length - b.length);
console.log(words); // 輸出: ["I", "love", "JavaScript", "coding"]

注意:.sort()方法會直接修改原數組。如果您不想修改原數組,可以在排序之前創建一個數組的副本,例如使用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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女