JavaScript 高阶函数 sort对象传入指定 值排序

    xiaoxiao2021-03-25  78

    JavaScript 高阶函数 sort对象传入指定 值排序

    var persons= [ { name:'john',age:23}, { name:'Ada' ,age:41}, { name:'zoo' ,age:3}, { name:'Lemo',age:39} ] //这种显然不太灵活 function sortByname(obj1, obj2) { if(obj1.name > obj2.name){ return 1; }else if (obj1.name == obj2.name){ return 0; }else { return -1; } } //这种显然不太灵活 function sortByage(obj1, obj2) { if(obj1.age > obj2.age){ return 1; }else if (obj1.age == obj2.age){ return 0; }else { return -1; } } //改进写法 function sortByproperty(properyName) { var sortFun = function (obj1, obj2) { if(obj1[properyName] > obj2[properyName]){ return 1; }else if (obj1[properyName] == obj2[properyName]){ return 0; }else { return -1; } } //这里注意返回是函数 return sortFun } persons.sort(sortByproperty('age'))//现在按传入的排序 for (var i = 0; i < persons.length; i++) { console.log(persons[i]); }

    转载请注明原文地址: https://ju.6miu.com/read-34472.html

    最新回复(0)