js排序(转载)
原文地址:http://blog.csdn.net/wzwlln/article/details/6187732#plain
sort(sortfunction)為javascript的數組對象(Array)的一個方法,提供排序功能,參數sortfunction為可選項;這個函數的主要作用是確定排序算法,默認情況下,按ASCII字符順序進行升序排序。但是可以重寫默認的排序規則,有兩個參數,分別代表每次排序比較時的兩個數組項,如果這個函數的返回值小于0則不交換原數組中元素的位置,否則交換元數組中元素的位置。
Demo1使用默認的按字母排序
1 var arr = ['b','cc','abc','fzj','xij','acd','yab']; 2 arr.sort(); 3 for (var i = 0; i < arr.length; i++) { 4 document.writeln(nameArr[i]); 5 }結果:abc acd b cc fzj xij yab
Demo2數字排序,sort(parm)方法帶參數
//降序函數 var desc = function(x,y) { if (x > y) return -1; //返回一個小于0 的數即可else return 1; //返回一個大于0 的數即可 } //升序函數 var asc = function(x,y) { if (x > y) return 1; //返回一個大于0 的數即可else return -1; //返回一個小于0 的數即可 }var arr2 = [4,6,4,2,7,9,0,1]; arr2.sort(desc); //降序排序 document.writeln(arr2); document.writeln("<br>"); arr2.sort(asc); //升序排序 document.writeln(arr2);結果:
9,7,6,4,4,2,1,0
0,1,2,4,4,6,7,9
Demo2的簡單算法
var arr2 = [4,6,4,2,7,9,0,1]; arr2.sort(function(a,b){return a - b});document.writeln(arr2); document.writeln("<br>"); arr2.sort(function(a,b){return b - a});document.writeln(arr2);結果:
0,1,2,4,4,6,7,9?
9,7,6,4,4,2,1,0 ?
轉載于:https://www.cnblogs.com/boothsun/p/5058040.html
總結
- 上一篇: Android Bitmap Ou
- 下一篇: 套期白话解释