学习文章---链接
总结笔记
①sort是Array.prototype的属性,
②如果不写入参数,则按照转换为的字符串的每个字符的unicode位点进行排序,
③如果传入一个比较函数sort(function(a,b){}),
如果比较函数返回负值,则a排在b之前;
如果比较函数返回正值,则a排在b之后;
如果比较函数返回0,则a和b相对位置不变;
降序排序
var arr = [2,10,6,9,7,8]; var arr1 = arr.sort(function(a,b){ if (a>b){ return -1; }else if(a<b){ return 1 }
return 0; }); alert(arr1); //10,9,8,7,6,2 alert(arr); //10,9,8,7,6,2
升序排序
var arr = [2,10,6,9,7,8]; var arr1 = arr.sort(function(a,b){ if (a<b){ return -1; }else if(a>b){ return 1 } return 0; }); alert(arr1);//2,6,7,8,9,10 alert(arr);//2,6,7,8,9,10
数字的简易升序排序
var arr = [2,10,6,9,7,8]; var arr1 = arr.sort(function(a,b){ return a-b; }); alert(arr1); alert(arr);
对象可以按照属性进行排序
var items = [ { name: 'Edward', value: 21 }, { name: 'Sharpe', value: 37 }, { name: 'And', value: 45 }, { name: 'The', value: -12 }, { name: 'Magnetic' }, { name: 'Zeros', value: 37 } ]; items.sort(function (a, b) { if (a.value > b.value) { return 1; } if (a.value < b.value) { return -1; } // a 必须等于 b return 0; });