sort()方法是数组自带的一种排序方法,默认情况下会将元素按照字符串进行比较。
1. 当元素为字符串时
将元素从字符串从第一位开始比较,第一位相同时比较后一位。
var arr = ["cb","a","g","cy"]; arr.sort(); console.log(arr);
//["a","cb","cy","g"]
2.当元素为数字时
默认将数字元素当做字符串来进行比较。先比较第一位,第一位相同时在比较后一位。
var arr2 = [20,13,11,8,0,11]; arr2.sort(); console.log(arr2);
//[0,11,11,13,20,8]
3. 控制sort()方法的排序方式
var arr2 = [20,13,11,8,0,11]; //按升序排列 arr2.sort(function(a,b){ //a,b表示相邻的两个元素
//若返回值>0,数组元素将按升序排列 //若返回值<0,数组元素将按降序排列 return a-b; }); console.log(arr2);
//[0,8,11,11,13,20]; 新数组按升序排列 //按降序排列 arr2.sort(function(a,b){ //a,b表示相邻的两个元素
//若返回值>0,数组元素将按升序排列 //若返回值<0,数组元素将按降序排列 return b-a; }); console.log(arr2);
//[20,13,11,11,8,0]; 新数组按降序排列 //随机排序 arr2.sort(function(a,b){ return
Math.random()-0.5; //返回值的正负概率分别为50%,故升降序排列是随机的 }); console.log(arr2); //新数组随机排序