深入理解js数组的sort排序_javascript技巧

废话少说直接上代码:

<body>
  <div>
  sort()对数组排序,不开辟新的内存,对原有数组元素进行调换
  </div>
  <div id="showBox">
  1、简单数组简单排序
  <script type="text/javascript">
    var arrSimple=new Array(1,8,7,6);
    arrSimple.sort();
    document.writeln(arrSimple.join());
  </script>
  </div>
  <div>
  2、简单数组自定义排序
  <script type="text/javascript">
    var arrSimple2=new Array(1,8,7,6);
    arrSimple2.sort(function(a,b){
      return b-a});
    document.writeln(arrSimple2.join());
  </script>
  解释:a,b表示数组中的任意两个元素,若return > 0 b前a后;reutrn < 0 a前b后;a=b时存在浏览器兼容
  简化一下:a-b输出从小到大排序,b-a输出从大到小排序。
  </div>
  <div>
  3、简单对象List自定义属性排序
  <script type="text/javascript">
    var objectList = new Array();
    function Persion(name,age){
      this.name=name;
      this.age=age;
      }
    objectList.push(new Persion('jack',20));
    objectList.push(new Persion('tony',25));
    objectList.push(new Persion('stone',26));
    objectList.push(new Persion('mandy',23));
    //按年龄从小到大排序
    objectList.sort(function(a,b){
      return a.age-b.age});
    for(var i=0;i<objectList.length;i++){
      document.writeln('<br />age:'+objectList[i].age+' name:'+objectList[i].name);
      }
  </script>
  </div>
  <div>
  4、简单对象List对可编辑属性的排序
  <script type="text/javascript">
    var objectList2 = new Array();
    function WorkMate(name,age){
      this.name=name;
      var _age=age;
      this.age=function(){
        if(!arguments)
        {
          _age=arguments[0];}
        else
        {
          return _age;}
        }

      }
    objectList2.push(new WorkMate('jack',20));
    objectList2.push(new WorkMate('tony',25));
    objectList2.push(new WorkMate('stone',26));
    objectList2.push(new WorkMate('mandy',23));
    //按年龄从小到大排序
    objectList2.sort(function(a,b){
      return a.age()-b.age();
      });
    for(var i=0;i<objectList2.length;i++){
      document.writeln('<br />age:'+objectList2[i].age()+' name:'+objectList2[i].name);
      }
  </script>
  </div>
</body>

以上这篇深入理解js数组的sort排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, 数组
, 排序
sort
javascript sort排序、javascript 数组 sort、java数组排序sort、jquery sort 数组排序、python 数组排序sort,以便于您获取更多的相关知识。

时间: 2025-01-03 19:18:11

深入理解js数组的sort排序_javascript技巧的相关文章

Js数组排序函数sort()介绍_javascript技巧

JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject.sort(sortby) 返回值为对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 如果想按照其他标准进行排序,

JS数组的赋值介绍_javascript技巧

复制代码 代码如下: var test=[1,2,3,4,5,6,7]; var arr=test;arr.splice(2,1);alert(test);//1,2,4,5,6,7 JS数组实质上是对象.因此,上面的源代码最后打印出的是1,2,3,4,5,6.这是因为将test赋值给arr实际上是将数组的引用赋值给arr,所以操作arr也同时会 改变源数组. 要实现数组克隆,可用以下方法: 复制代码 代码如下: Array.prototype.clone=function(){   retur

js 数组克隆方法 小结_javascript技巧

因此如果要创建一个与已经存在的对象内容相同的对象,不能通过简单的赋值操作.这样说的可能还是不太明白. 看下面的例子: 复制代码 代码如下: var a=[1,2,3,4]; var b=a;c=b; a.pop(); //移除最后一个元素 alert(b); //弹出1,2,3 alert(c); //弹出1,2,3 var a=[1,2,3,4]; var b=a;c=b; a.pop(); //移除最后一个元素 alert(b); //弹出1,2,3 alert(c); //弹出1,2,3

js数组操作学习总结_javascript技巧

shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefinedvar a = [1,2,3,4,5];var b = a.shift();     结果 a:[2,3,4,5]     b:1 unshift:将参数添加到原数组开头,并返回数组的长度var a = [1,2,3,4,5];var b = a.unshift(-2,-1); 结果 a:[-2,-1,1,2,3,4,5]      b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试返

js算法中的排序、数组去重详细概述_javascript技巧

其实在js中实现数组排序,采用数组中sort方法实现还是比较简单的: 一.排序 简单实现数组排序 复制代码 代码如下: var arr = [];  for(var i=0;i<20;i++){      arr.push(Math.floor(Math.random()*100))  }  arr.sort(function(a,b){      return a>b?1:-1;  })  alert(arr) 不能简单使用sort方法,默认情况下 sort方法是按ascii字母顺序排序的,

JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)_javascript技巧

本文实例总结了JS数组排序技巧.分享给大家供大家参考,具体如下: ① 冒泡排序 bubbleSort:function(array){ var i = 0, len = array.length, j, d; for(; i<len; i++){ for(j=0; j<len; j++){ if(array[i] < array[j]){ d = array[j]; array[j] = array[i]; array[i] = d; } } } return array; } ② js

js数组Array sort方法使用深入分析_javascript技巧

javascript 中 Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列,实例代码如下: 复制代码 代码如下: var arrA = [6,2,4,3,5,1]; arrA.sort(); document.writeln(arrA); //结果是:1,2,3,4,5,6 sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数.分别代表每次排序比较时的两个数组项.sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这

JavaScript学习笔记之数组随机排序_javascript技巧

推荐阅读:JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组的增.删.改.查 JavaScript中提供了sort()和reverse()方法对数组项重新排序.但很多时候这两个方法无法满足我们实际业务的需求,比如说扑克牌游戏中的随机洗牌. 在这篇文章一起来学习如何完成上面这个示例的效果,以及一些有关于数组随机排序的相关知识. 在网上查了一下有关于数组随机排序的相关资料,都看到了Math.random()的身影.打开浏览器控制器,输入: Math.random() 从图

js模拟实现Array的sort方法_javascript技巧

JavaScript的Array对象有一个sort方法,用于实现对数组元素的排序,该方法默认按照数组项ASCII 字符顺序升序排列.   如[6,7,9,1,-1].sort();执行后数组变为[-1,1,6,7,9].   对于需要降序排列或非字符串排序,该方法就不能很好的执行了.   当然,sort有一个可选参数,它能帮我们解决这个问题,通过为sort传入一个函数,sort根据函数返回值进行排序.   数组为该函数默认传入数组中的两个元素,如传入a,b,如果函数返回值大于0,则排序方式为b,