-
sort方法排序
1、默认升序
2、将排序的元素转化为字符串['3','22','18','9'],找字符串对应的Unicode码表
//Unicode码表 排序 1234(数字) ABC(大写) abc(小写) 好(字符串)
var arr1 = ['二','a',5,'A']
console.log(arr1.sort()); //[5, 'A', 'a', '二']
var arr2=[1,5,6,2,4,3];
console.log(arr2.sort()); //[1, 2, 3, 4, 5, 6]
var arr3=[3,22,18,9];
console.log(arr3.sort()); //[18, 22, 3, 9]
console.log(arr3.reverse()); //[9, 3, 22, 18]
-
reverse() 方法反转数组中的元素
与sort() 相同的是,reverse() 也是按照字符串排序,只它不过是降序
var arr3=[3,22,18,9];
console.log(arr3.sort());//[18, 22, 3, 9]
console.log(arr3.reverse());//[9, 3, 22, 18]
-
sort() 方法实现数值排序 -- 定义一个比值函数
//sort(callback)
//function(x,y){}
var arr=[3,22,18,44,9];
arr.sort(function (x,y) { return x-y })
console.log(arr);//[3, 9, 18, 22, 44]
console.log(arr.reverse());//[44,22,18,9,3]
-
以随机顺序排序数组
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return 0.5 - Math.random()});
使用 Math.max.apply 来查找数组中的最大值:(最小值 Math.max.apply())
var points = [40, 100, 1, 5, 25, 10];
console.log(myArrayMax(points)); //100
function myArrayMax(arr) {
return Math.max.apply(null, arr);
}
-
比较字符属性
var cars = [ "BMW", "Audi", "porsche"];
var fn = function(a, b){
var x = a.toLowerCase();
var y = b.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
};
console.log(cars.sort(fn));