案例1:现在有一个普通数组arr = [3,1,2,4,5,6,8,0,1];
自定义一个排序方法:
function createComparator(){ return function (object1,object2){ if(object1 < object2){ return -1; }else if(object1 > object2){ return 1; }else{ return 0; } } }
使用数组的sort方法传入自定义排序规则function
arr.sort(createComparator());
结果[0, 1, 1, 2, 3, 4, 5, 6, 8]
案例2:现在有一个json数组arr = [{name:‘张三‘,age:23},{name:‘李四‘,age:24},{name:‘王五‘,age:25}];
function createComparator(property){ return function (object1,object2){ var value1 = object1[property]; var value2 = object2[property]; if(value1 < value2 ){ return 1; }else if(value1> value2 ){ return -1; }else{ return 0; } } }
使用数组的sort方法传入自定义排序规则function
arr.sort(createComparator("name"));
结果:[{name: "王五", age: 25},{name: "李四", age: 24},{name: "张三", age: 23}]
原文:https://www.cnblogs.com/pecool/p/10792778.html