js-sort数组排序

婆婆妈妈,直上代码:

 1 <body>
 2 <div>
 3 sort()对数组排序,不开辟新的内存,对原有数组元素进行调换
 4 </div>
 5 <div id="showBox">
 6 1、简单数组简单排序
 7 <script type="text/javascript">
 8 var arrSimple=new Array(1,8,7,6);
 9 arrSimple.sort();
10 document.writeln(arrSimple.join());
11 </script>
12 </div>
13 <div>
14 2、简单数组自定义排序
15 <script type="text/javascript">
16 var arrSimple2=new Array(1,8,7,6);
17 arrSimple2.sort(function(a,b){
18 return b-a});
19 document.writeln(arrSimple2.join());
20 </script>
21 解释:a,b表示数组中的任意两个元素,若return > 0 b前a后;reutrn < 0 a前b后;a=b时存在浏览器兼容
22 简化一下:a-b输出从小到大排序,b-a输出从大到小排序。
23 </div>
24 <div>
25 3、简单对象List自定义属性排序
26 <script type="text/javascript">
27 var objectList = new Array();
28 function Persion(name,age){
29 this.name=name;
30 this.age=age;
31 }
32 objectList.push(new Persion(‘jack‘,20));
33 objectList.push(new Persion(‘tony‘,25));
34 objectList.push(new Persion(‘stone‘,26));
35 objectList.push(new Persion(‘mandy‘,23));
36 //按年龄从小到大排序
37 objectList.sort(function(a,b){
38 return a.age-b.age});
39 for(var i=0;i<objectList.length;i++){
40 document.writeln(‘<br />age:‘+objectList[i].age+‘ name:‘+objectList[i].name);
41 }
42 </script>
43 </div>
44 <div>
45 4、简单对象List对可编辑属性的排序
46 <script type="text/javascript">
47 var objectList2 = new Array();
48 function WorkMate(name,age){
49 this.name=name;
50 var _age=age;
51 this.age=function(){
52 if(!arguments)
53 {
54 _age=arguments[0];}
55 else
56 {
57 return _age;}
58 }
59
60 }
61 objectList2.push(new WorkMate(‘jack‘,20));
62 objectList2.push(new WorkMate(‘tony‘,25));
63 objectList2.push(new WorkMate(‘stone‘,26));
64 objectList2.push(new WorkMate(‘mandy‘,23));
65 //按年龄从小到大排序
66 objectList2.sort(function(a,b){
67 return a.age()-b.age();
68 });
69 for(var i=0;i<objectList2.length;i++){
70 document.writeln(‘<br />age:‘+objectList2[i].age()+‘ name:‘+objectList2[i].name);
71 }
72 </script>
73 </div>
74 </body>
时间: 2024-08-11 15:18:11

js-sort数组排序的相关文章

[JS基础] JS 之数组排序

简单数组排序 这里的简单数组的定义是,数据的元素是基本的类型整型,字符型,浮点型等,而不是对象类型 排序方法就很简单,使用数组本身的sort 方法. 默认是升序排序. 看例子: <script> var jsArray = [100,2,4,30]; jsArray.sort(); alert(jsArray); </script> 输出的结果是: 100,2,30,4 和我们预想的结果不一样, 原因是默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序

js sort 二维数组排序的用法小结

最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的测试,js内置方法sort的效率非常高 我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢?在php中是有multi_sort函数可供调用的,但是在js中似乎没有这种函数,但是没关系 ,因为js的sort函数其实也提

js 自定义数组排序和随机数组

var array = [1,2,5,3] //随机打乱数组 array.sort(function(ls, rs){ if(Math.random() < 0.5) { return -1; } else { return 1; } }) console.log(array); //数组排序 var array1 = [1,2,5,3] array1.sort(function(lhs, rhs){ if(lhs < rhs) { return -1; } else { return 1;

JS实现数组排序的方法

前言 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列,当然排序也是算法中的一种,javascript内置的sort函数是多种排序算法的集合,数组在原数组上进行排序.JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. I.简单排序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &

JS sort() 函数

说实话,看源码没看懂,作为一个码农来说是很失败了.虽然想要 知其然而知其所以然,然而技术太菜没办法,只能先把表面使用掌握了. JS 的sort函数,有传参和不传参两种模式,不传参我这里就不说了,随便看看都能掌握.这里对传参做一下记录,好让自己以后忘记了可以快速记起来(只是适用于我自己快速捡起的方式) 传参的类型为函数,函数又有两个形参a和b,function (a, b) { return a - b} 数组会根据传入的函数的返回值去进行排序. 我这里只能浮于表面的来对自己进行一些强行的规则注释

js常用数组排序方式

第一种:sort()函数 function compare(v1,v2){ if(v1<v2){return -1;} else if (v1>v2) { return 1; }else {return 0;} } var values=[1,5,20,10,15,12]; values.sort(compare); console.log(values) //[1, 5, 10, 12, 15, 20]

js sort()用法总结

1.利用数组的sort()方法排序以及打乱数组 1.1  srot()如果不带参数,是将按字母顺序对数组中的元素进行排序,也就是是按照字符编码的顺序进行排序. var arr1 = ['a', 'd', 'c', 'b']; arr.sort();  //['a', 'b', 'c', 'd'] var arr2 = [10, 5, 40, 25, 100, 1]; arr2.sort(); //[1, 10 ,100, 25, 40, 5] 1.2  如果想按照其他标准进行排序,就需要提供比较

js sort方法根据数组中对象的某一个属性值进行排序

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 -

js sort() 排序的问题

默认并非按照大小排序,而是根据Assic来排序的,但接受一个排序函数.所以正确的使用姿势应该是这样的: var arr = [0,1,5,10,15]; function sequence(a,b){ if (a>b) { return 1; }else if(a<b){ return -1 }else{ return 0; } } arr.sort(sequence);

js sort()

定义和用法 sort() 方法用于对数组的元素进行排序. 语法: arrayObject.sort(sortby) 注: 参数sortby 必须是函数 常用参数: 1.升序 function asc(a,b) { return a-b } 2.降序 function desc(a,b) { return b-a } 3.随机 function rand() { return .5-Math.random(); } 4.奇-偶 function odd_even(a) { return .5-a%