JavaScript 数组排序

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值