自定義sort函數排序標準

function compareStandard(key){
    return function(obj1,obj2){
        let val1=obj1[key];
        let val2=obj2[key];

        if (val1<val2) {
            return -1;
        }else if (val1>val2) {
            return 1;
        }else{
            return 0;
        }
    }
}

const arr=[
    {name:'Tom',age:22,height:170},
    {name:'Mary',age:21,height:165},
    {name:'Mike',age:18,height:180}
];

arr.sort(compareStandard('age'));    

//0: {name: "Mike", age: 18, height: 180}
//1: {name: "Mary", age: 21, height: 165}
//2: {name: "Tom", age: 22, height: 170}

arr.sort(compareStandard('height'));

//0: {name: "Mary", age: 21, height: 165}
//1: {name: "Tom", age: 22, height: 170}
//2: {name: "Mike", age: 18, height: 180}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章