zoukankan      html  css  js  c++  java
  • 开篇呀,恭喜恭喜,是个好开头-----关于sort()排序

      感觉自己活了半辈子从来没写过博客,这可是头一回,而且不是记事是为了学习,先恭喜恭喜自己,有一个很好的开端,不管能不能半途而废,反正是想着为了学习做点什么。

      之前有很多东西需要搬过来,循序渐进吧,反正也是自己记录一些东西,随便写吧。

    var arr = [{name:"a",age:16},{name:"b",age:106},{name:"c",age:20},{name:"d",age:23}];

      根据age排序name,最终要求输出结果 a,c,d,b;

      最终完成

    <script>
    var arr = [{name:"a",age:16},{name:"b",age:106},{name:"c",age:20},{name:"d",age:23}];
    arr.sort(function(a,b){return a.age>b.age;});
    for(var i=0;i<arr.length;i++){
        console.log(arr[i].name)
    }
    </script>

    其实早就知道sort()有排序功能,只不过没想到能这么用

    分析:

    如果给一个数组排序的话,一般会这么写

    var arr=[1,3,2,4,5];
    arr.sort();
    console.log(arr);

    再改进一下的话这么写

    var arr=[1,3,2,4,5];
    arr.sort(function(a,b){return a-b});
    console.log(arr);

    后来听了讲课才知道,一开始的时候是这么写的,其实就是按顺序拿两个数来比较大小

    var arr=[1,103,2,4,5];
    arr.sort(function(a,b){
     if(a<b){      
         return -1;
     }
     else if(a>b){
         return 1;
     }
     else{
         return 0;
     }
    });
    console.log(arr);

    只不过,返回-1,也可以写成-5,-0.5...任意负数都可以

    改成a-b以后,可以是负数可以是整数也可以是0

      

  • 相关阅读:
    老齐所谓“你们强大的数学知识”
    Party解题报告
    maven配置mybatis忽略文件问题
    Log4J使用
    Mybatis的工具类
    MyBatis的BUG总结
    Mybatis核心配置文件
    JavaWebServletBUG总结
    浏览器同源策略问题解决方式
    Erlang语言之简述及安装
  • 原文地址:https://www.cnblogs.com/change-oneself/p/4795801.html
Copyright © 2011-2022 走看看