let arr = [1,80,4,33,21,55];
arr.sort(a):这里面的a可以省略。省略的话是将数组中的元素将按照字符编码排序的排序:1,21,33,4,51,80。不用管数组里的元素是字符串还是number类型
如果a不省略,他可以是一个函数的返回值。当a>1,数组按照数值大小降序排列,a=0;的话,数组不变;a < 0的话,数组按照升序排列。
a可以是:function (num1,num2){
return num1-num2 //num1和num2是两个要比较的值;
}
重点:如果想要让一个数组随机排序,使用Math.random();
let arr =[1,2,3,4,5,6,7,8];
arr.sort(function () { return 0.5 - Math.random() })
console.log(arr);
let arr =[1,2,3,4,5,6,7,8];
arr.sort(function(){
return 0.5-Math.random();
})
例如:arr.sort()里面的函数如果不带num1和num2这两个参数的话,return的结果>0,只会使得arr原值reserve(),而不是排序。return结果 <=0时候,会保持不变。
var arr=[1,80,4,33,21,55];
arr.sort(function () { return 1}) // [55, 21, 33, 4, 80, 1]
arr.sort(function () { return -1}) // [1,80,4,33,21,55];
arr.sort(function () { return 0}) // [1,80,4,33,21,55];
console.log(arr);