sort()
方法是最强大的数组方法之一。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort(); // 对 fruits 中的元素进行排序
fruits.reverse(); // 反转元素顺序
输出:Apple,Banana,Mango,Orange
Orange,Mango,Banana,Apple
数字排序
默认地,sort()
函数按照字符串顺序对值进行排序。
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
输出: 1,5,10,25,40,100
对数组使用 Math.max()
Math.max.apply([1, 2, 3]) 等于 Math.max(1, 2, 3)。
// ES5写法Math.max.apply(null, arr); // ES6写法Math.max(...arr);
对数组使用 Math.min()
您可以使用 Math.min.apply 来查找数组中的最低值
Math.min.apply([1, 2, 3]) 等于 Math.min(1, 2, 3)。
// ES5写法Math.min.apply(null, arr); // ES6写法Math.min(...arr);
排序对象数组
JavaScript 数组经常会包含对象:
var cars = [
{type:"BMW", year:2017},
{type:"Audi", year:2019},
{type:"porsche", year:2018}];
cars.sort(function(a, b){return a.year - b.year});
//BMW 2017
porsche 2018
Audi 2019
比较字符串属性会稍复杂:
cars.sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
});
//Audi 2019
BMW 2017
porsche 2018