JS自带的sort()方法全面了解
在JS中,sort()方法是对数组元素进行排序的内置方法。它可以帮助我们轻松地将数组按照一定的顺序进行排序。在这里,我们将详细讲解sort()方法的使用,包括语法、参数、返回值、排序顺序等。
语法
sort()方法的基本语法如下:
array.sort(compareFunction);
其中,array 表示要排序的数组,compareFunction 是一个可选的用来指定排序顺序的函数。
参数
- compareFunction(可选):用来指定排序顺序的函数。如果省略该参数,则按照 UTF-16 编码的顺序进行排序。
返回值
该方法不会创建新数组,而是直接修改原数组。如果需要对原数组进行备份,可以使用slice()方法。
排序顺序
默认情况下,sort()方法按照 UTF-16 编码顺序进行排序。但是,我们可以通过传递一个 compareFunction 参数来指定我们需要的排序顺序。
- 如果 compareFunction 返回一个小于 0 的值,则 a 会被排在 b 前面;
- 如果 compareFunction 返回一个大于 0 的值,则 b 会被排在 a 前面;
- 如果 compareFunction 返回 0,则 a 和 b 的相对位置不变。
示例1:按照数字大小升序排序
var arr = [3,1,4,5,2];
arr.sort((a,b) => a-b);
console.log(arr); // [1, 2, 3, 4, 5]
在该示例中,我们传递了一个比较函数,该函数返回一个小于0的数(a-b),这意味着我们要升序排列。
示例2:按照字母长度进行降序排序
var arr = ["banana", "apple", "cherry", "pear"];
arr.sort((a,b) => b.length - a.length);
console.log(arr); // ["banana", "cherry", "apple", "pear"]
在该示例中,我们同样传递了一个比较函数,该函数返回一个大于0的数(b.length - a.length),这意味着我们要降序排列。
结论
- sort()方法是JS中对数组进行排序的内置方法,它可以帮助我们轻松地将数组按照一定的顺序进行排序。
- sort()方法的参数是一个可选的用来指定排序顺序的函数。如果省略该参数,则按照 UTF-16 编码的顺序进行排序。
- 通过比较函数可以指定排序顺序,如果比较函数返回一个小于 0 的值,则 a 会被排在 b 前面;如果比较函数返回一个大于 0 的值,则 b 会被排在 a 前面;如果比较函数返回 0,则 a 和 b 的相对位置不变。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 自带的sort() 方法全面了解 - Python技术站