在处理数组的时候,我们有时候需要对数组进行排序,排序的方法有很多种,但是最好最快的就是利用sort方法进行快速的排序。
我们来看一个例子:
代码如下 | 复制代码 |
var arr1 = [6, 3, 4, 1, 2, 5, 7, 3, 0, 9, 8, 10];//这里有一个数字数组 arr1.sort(function(a,b){ return a-b; }); 这种方法是升序的排法,反之, arr1.sort(function(a,b){ return b-a; }); |
这样就是降序的排法。
按字母排序
代码如下 | 复制代码 |
var arr = ['b','cc','abc','fzj','xij','acd','yab']; arr.sort(); for (var i = 0; i < arr.length; i++) { document.writeln(nameArr[i]); } 结果:abc acd b cc fzj xij yab |
Demo2数字排序,sort(prama)方法带参数
代码如下 | 复制代码 |
//降序函数 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 |
时间: 2024-09-27 11:55:39