JS中的sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排列。
例如:
let values = [0 ,1 , 5 , 10 ,15]; values.sort(); console.log(values); //0,1,10,15,5
sort()方法可以接受一个比较函数作为参数
(1)大多数类型:
function compare(value1, value2){ return value2 - value1; // 由小到大排序 }
let values = [0, 1, 5, 10, 15];
values.sort(compare)
console.log(values); //0,1,5,10,15
(2)针对数组中某个对象的属性排序
function createComparisonFunction(propertyName){ return function(object1, object2) { var value1 = object1[propertyName] ; var value2 = object2[propertyName] ; } if(value1 < value2) { return -1 }else if (value1 > value2) { return 1 }else { return 0 } }
var values = [{name: "Mrc", age: 26},{name: "Ty", age: 25}];
values.sort(createComparisonFunction("age"));
console.log(values[0].age); // 25