1.一维数组排序
timeList=['2017-10-05','2017-10-01','2017-10-03','2017-10-02','2017-10-09']; timeList.sort(); console.log(timeList);
2.对象数组的排序
sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同
var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 - value2; } } console.log(arr.sort(compare('age')))
当对日期排序就需要处理一下
var arr = [ {name:'zopp',age:'2017-11-5'}, {name:'gpp',age:'2017-11-9'}, {name:'yjj',age:'2017-11-1'} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1.replace(/-/g,'') - value2.replace(/-/g,''); } } console.log(arr.sort(compare('age')))
vue中的写法
mounted(){ this.$ajax.get('/service/diagnosis/query/18') .then((reps)=>{ let temp=reps.data.body; let temp1=temp.sort(this.sortArray('id')); console.log(temp1); }) .catch((error)=>{ //console.log(error); }); //ajax }, methods:{ sortArray:function(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value2 - value1 ; } } }