0
点赞
收藏
分享

微信扫一扫

JS排序对象数组

sort()定义比较函数的目的是定义另一种排序顺序。比较函数应该返回一个负,零或正值,这取决于参数。

​sort()​​方法是最强大的数组方法之一。

比较函数
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负,零或正值,这取决于参数:

function(a, b){return a-b}

当​​sort()​​函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。

排序对象数组
JavaScript 数组经常会包含对象

​比较数值属性​​:

var cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}];

即使对象拥有不同数据类型的属性,sort() 方法仍可用于对数组进行排序。
解决方法是通过比较函数来对比属性值:

cars.sort(function(a, b){return a.year - b.year});

​比较字符串属性​​会稍复杂:

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;
});

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。



举报

相关推荐

0 条评论