JS排序对象数组

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;
});
posted @ 2022-03-31 16:31  槑孒  阅读(1282)  评论(0编辑  收藏  举报