JS数组sort()按照数字大小进行排序的方法,实例在线编辑
JS数组sort()对数字排序
JavaScript中数组的内置方法sort()主要用于对数组进行排序,默认情况下会按字符在JS中的大小顺序进行排序,比如对元素为数字的数组进行排序时,sort()会按字符串的大小进行排序,而不是数字本身的大小,比如“3”和“21”的排序中,“21”会排在“3”的前头!如下方中的实例:
Js数组sort()默认情况下对数字排序实例代码,及在线编辑器
<script>
var x = [1,3,21,2,5]
x.sort()
alert(x)
</script>
代码解析
如上代码,调用sort()方法对元素为数字的数组进行排序之后,x的数组将编程[1,2,21,3,5]。那该如何对元素为数字的数组调用sort()进行排序呢?
sort()按照数字大小进行排序的方法
<script>
var y = [1,3,21,2,5]
y.sort(function(a,b){return a-b})
alert(y)
</script>
实例解析
如上代码,数组y调用sort()方法之后,y的值变成[1,2,3,5,21]。通过传递一个匿名函数给sort()方法,当sort()被调用比较1和2的时候,sort()方法会调用function(1,2),函数的返回值为-1,sort()方法将1排序为比2更低的值。