js数组的排序——sort()

对于一个数组的排序,默认的sort()按字符编码排序的:

var testArray=[3,324,5345,6546,134,5654,665];

testArray.sort();

alert(testArray);

输出结果是:134  3  324  5345  5654  6546  665

现在要让它按照数值大小排序:

var testArray=[3,324,5345,6546,134,5654,665];

testArray.sort(function(a,b){return a-b;});

alert(testArray);

这里传递一个比较函数给sort,比较函数的逻辑是:如果两参数的差值小于0,则表示a必须出现在b前面,否则在b后面。输出结果是:

3  134  324  665  5345  5654  6546,

再如,要把数组里含有字母‘a‘的元素全部找出来,具体做法如下:

var testArray=[‘df‘, ‘rtr‘, ‘wy‘, ‘dafd‘, ‘dfs‘,

‘wefa‘, ‘tyr‘, ‘rty‘, ‘rty‘, ‘ryt‘,

‘afds‘, ‘wer‘, ‘te‘];

testArray.sort(function(a,b){return a.indexOf(‘a‘)==-1?1:-1;});

alert(testArray);

这样就把数组中含有字母‘a‘的元素全部放到数组前面啦,再经过一些简单的处理,就可以输出搜索结果了

而对一个对象数组,要按照里面的某一属性排序的话,可以这样:如在数组arrayObject里的每个对象元素,都有一个tagName属性,现在要按tagName的拼音序排序,则可这样写

arrayObject.sort(function(a,b){return a.tagName<b.tagName?-1:1;});

本人觉得还是蛮有用的。

时间: 2024-11-09 03:09:00

js数组的排序——sort()的相关文章

js数组的排序

简单的js数组排序: <span style="font-size:18px"><script LANGUAGE=javascript> var arr=[112,6,3,77,33,11,4]; arr.sort(function(a,b){return a-b}); alert(arr.toString());//3,4,6,11,33,77,112 </script></span> 二元数组排序: <span style=&q

js数组的实例方法sort() 排序方法的运用,不再只是.sort()

1, sort() 不传回调函数的话,默认按照字母顺序(字符编码)的顺序进行排序. 2, sort() 通过传回调函数来控制从小到大的排序还是从大到小的排序: 1 var arr = [1,23,5,6,14,9,10]; 2 arr.sort((a,b)=>{ 3 if(a>b){ 4 return 1; 5 }else { 6 return -1; 7 } 8 }) 9 console.log(arr); 10 结果:[1, 5, 6, 9, 10, 14, 23] 从小到大 11 12

JS 数组Array排序

function mySort() { var tags = new Array(); //使用数组作为参数存储容器 //请补充你的代码 for (var i = 0; i < arguments.length; i++) { tags.push(arguments[i]); } tags.sort(function (a, b) { return b - a; }); return tags; //返回已经排序的数组}var result = this.mySort(50, 11, 16, 3

JS数组控制台排序

近期初学JS,觉得是一门非常强大的语言,前期是在控制台输出,简单的总结了一下数组排序的方法: 一.先选择排序然后再去重: let arr = [3,7,2,9,6,5,8,7,3]; let temp; for(let i=0; i<arr.length-1; i++){ for(let j=i+1 ; j<arr.length ;j++){ if(arr[i]>arr[j]){ temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } l

数组内部对象排序(sort)

1.数组排序有很多方法比如for,while循环去进行冒泡排序或者快速看.排序等多种排序方法 而我在这里要说的是苹果API提供的几个系统方法 a.迭代器     Descriptor b.方法比较  Selector c.函数比较  Function d.块代码    Block自定义 2.示例 1.1一个要比较对象的类(Person) 1 2 3 4 5 6 7 8 9 @interface Person : NSObject @property(nonatomic , copy)NSStri

js 数组元素排序

字母排序 <html> <body> <script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Ma

JS数组定义

 JS数组定义收藏 数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(8); var c = new Array("first", "second", "third"); 或者数组直接量: var d = ["first", "second", "third"]; 属性 Array仅仅有一个属性,就是length,leng

js 数组操作

toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部的一个元素移出 unshift():在数组的头部插入一个元素 pop():从数组尾部删除一个元素 push():把一个元素添加到数组的尾部 concat():给数组添加元素 slice():返回数组的部分 reverse():将数组反向排序 sort():对数组进行排序操作 splice():插入.删除或者替换一个数组

JS数组定义【收藏】

最近在学习JS,刚好学到数组,发现章节还蛮多了而且发现了数组的以前好多不知道的东西,顺便整理下: 数组一共有有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(8); var c = new Array("first", "second", "third"); 或者数组直接量: var d = ["first", "second", "t