zoukankan      html  css  js  c++  java
  • js排序

    一:

    var num=[7,45,100,4,2,564];
        function sortNum(a,b){
            return a-b;
        }
    num.sort(sortNum);
    console.log(num)  //[2, 4, 7, 45, 100, 564]

    二:

    var list=[
        {name:"lisan",age:22},
        {name:"zhangsi",age:20},
        {name:"laowu",age:25}
    ];
    function sortNum(ageList){
         return function(a,b){
            var list1=a[ageList];
            var list2=b[ageList];
            return list1-list2
        }  
    };
    list.sort(sortNum('age'));
    console.log(list);
    //结果如下
    {name: "zhangsi", age: 20}
    {name: "lisan", age: 22}
    {name: "laowu", age: 25}

    三:冒泡排序

    var arrNum=[7,8,3,2];
    function sortArr(arr){
        for(var i=0;i<arr.length;i++){
            for(var j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        };
        return arr;
    };
    console.log(sortArr(arrNum))

    js中排序sort其实就是arrNum中第一个与第二个比较,如果第一个比第二个大,那么他们交换位置,否则不变。然后第二个和第三个比较,大的那个向后排,依次结果[7,3,2,8]。也就是把最大的那个排到了最后面,但这不是我们想要的结果。

    所以再上面有2层循环,当i=0时[7,2,3,8],当i=1时,其实前面已经把最大的那个排出来了 ,所以这里的j<arr.length-1-i,结果时[3,2,7,8].然后依次类推。

  • 相关阅读:
    windows下php扩展存在但无法加载的问题
    mysql5.7主从(Master/Slave)同步配置
    windows使用composer.phar
    git untrack file
    git常见问题
    thinkphp框架中Model对象$origin对象的作用
    thinkphp常见问题
    git合并多个commit
    ajax请求post和get的区别以及get post的选择
    .htaccess跳转https
  • 原文地址:https://www.cnblogs.com/mychz/p/7463634.html
Copyright © 2011-2022 走看看