欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js学习笔记 - sort()方法的用法,参数以及排序原理

程序员文章站 2024-02-23 08:01:52
...

sort()方法用于对数组中的元素进行排序,
注:1.sort()方法是对原数组上排序,不生成副本,所以使用过sort()方法后,原数组已经改变了
2.sort()方法的默认的排序方式是以字符编码的顺序进行排序的,如果要按照其他顺序来排序,要编写相应的比较函数。数组的元素被看成字符串形式进行比较。
3.sort()方法里的参数可以是函数,也必须是函数或空。

比较函数应该具有两个参数 a 和 b,其返回值如下:
 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
 若 a 等于 b,则返回 0。
 若 a 大于 b,则返回一个大于 0 的值。

以下看例子学习:
1.用js中的sort()方法排序数字

 <script>
 var arr=[1,2,5,10];
 arr.sort();
  console.log(arr.sort());    //结果为:[1,10,2,5]
</script>

在sort方法中写参数比较

 <script>
 var arr=[1,2,5,10];
 arr.sort();
  console.log(arr.sort((a, b) => a - b));    //结果为:[1,2,5,10]
</script>

也可以写成函数形式的

 <script>
 //排序函数
 function sortNumber(a,b)
{
return a - b
}
 var arr=[1,2,5,10];
 arr.sort();
  console.log(arr.sort(sortNumber));    //结果为:[1,2,5,10]
</script>

最后在写上另一个排序方法reverse(),反转数组里的内容。

 <script>
 var arr=[1,2,5,10];
 arr.sort();
  console.log(arr.reverse());    //结果为:[10,5,2,1]
</script>