JavsScript中比较大小总结---基于sort()方法

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

  

posted @ 2019-02-20 11:59  灭世的蜜糖  阅读(366)  评论(0编辑  收藏  举报