js数组sort排序
时间: 2023-09-02 17:12:30 浏览: 109
JavaScript中的数组可以使用`sort()`方法进行排序。`sort()`方法会原地对数组进行排序,即修改原始数组,而不是返回一个新的排序后的数组。
默认情况下,`sort()`方法将数组元素视为字符串,并按照Unicode码点进行排序。例如:
```javascript
const arr = [10, 2, 5, 1, 9];
arr.sort();
console.log(arr); // 输出: [1, 10, 2, 5, 9]
```
可以看到,数字被视为字符串进行排序,因此10排在了2的前面。要正确地按照数字大小进行排序,需要提供一个比较函数作为`sort()`方法的参数。比较函数接收两个参数,通常称为`a`和`b`,表示要比较的两个元素。
比较函数需要返回一个负数、零或正数来指示两个元素之间的顺序关系。如果返回一个负数,表示`a`应该在`b`之前;如果返回零,表示`a`和`b`的顺序不变;如果返回一个正数,表示`a`应该在`b`之后。
以下是使用比较函数进行数字排序的示例:
```javascript
const arr = [10, 2, 5, 1, 9];
arr.sort((a, b) => a - b);
console.log(arr); // 输出: [1, 2, 5, 9, 10]
```
通过比较函数 `(a, b) => a - b`,数组按照数字大小进行排序,最终输出 `[1, 2, 5, 9, 10]`。
除了升序排序,还可以使用`(a, b) => b - a`来进行降序排序。
希望以上内容能帮助到你!如果还有其他问题,请随时提问。
阅读全文