Javascript數(shù)組重排序的方法是什么

小億
63
2023-06-30 14:57:21

JavaScript中可以使用Array的sort()方法對(duì)數(shù)組進(jìn)行重排序。
sort()方法可以接受一個(gè)可選的比較函數(shù)作為參數(shù),用于指定排序的方式。比較函數(shù)應(yīng)該返回一個(gè)負(fù)數(shù)、零或者正數(shù),分別表示第一個(gè)參數(shù)應(yīng)該排在前面、兩個(gè)參數(shù)相等、或者第二個(gè)參數(shù)應(yīng)該排在前面。
下面是一個(gè)例子,演示如何使用sort()方法對(duì)數(shù)組進(jìn)行重排序:
```javascript
var arr = [3, 1, 5, 2, 4];

// 使用默認(rèn)的排序方式(按照字符串Unicode碼點(diǎn)進(jìn)行排序)
arr.sort();
console.log(arr); // 輸出:[1, 2, 3, 4, 5]

// 使用比較函數(shù)指定排序方式(按照數(shù)字大小進(jìn)行排序)
arr.sort(function(a, b) {
 return a - b;
});
console.log(arr); // 輸出:[1, 2, 3, 4, 5]

// 使用比較函數(shù)指定排序方式(按照數(shù)字大小進(jìn)行逆序排序)
arr.sort(function(a, b) {
 return b - a;
});
console.log(arr); // 輸出:[5, 4, 3, 2, 1]
```
在上面的例子中,我們首先使用默認(rèn)的排序方式對(duì)數(shù)組進(jìn)行了排序,結(jié)果是按照字符串Unicode碼點(diǎn)進(jìn)行排序。然后我們使用比較函數(shù)指定了按照數(shù)字大小進(jìn)行排序的方式,得到了按照數(shù)字大小升序排列的數(shù)組。最后我們?cè)俅问褂帽容^函數(shù),但這次返回的是b - a,實(shí)現(xiàn)了按照數(shù)字大小進(jìn)行逆序排序。

0