sort()排序不会产生新的数组,而是原地排序
sort()不添加function() 时,默认按照字符串的Unicode码位点(code point)排序。
sort()如果指明了 function(x,y) ,那么数组会按照调用该函数的返回值排序。
1、function(x,y) 返回值为小于 0 ,那么 x 会被排列到 y 之前.
2、function(x,y) 返回值为 0 ,那么 x和 y 的位置保持相对不变.
3、function(x,y) 返回值为大于 0 ,那么 x 会被排列到 y 之后.
'use strict';
var arr = [10, 20, 1, 2];
arr.sort()
//排序过后 arr = [1, 10, 2, 20]
arr.sort(function(x, y) {
return x - y
})
//排序过后 arr = [1, 2, 10, 20]
//使用箭头函数
arr.sort((x, y) => { return x - y })
网友评论