JS中的sort()方法會調用每一個數組項的toString()轉型方法,而後比較獲得的字符串,以肯定如何排列。javascript
例如:java
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)針對數組中某個對象的屬性排序spa
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