zoukankan      html  css  js  c++  java
  • 数组小技巧sort()

    var numberArray = [3, 6, 2, 4, 1, 5, 13];
    //实现对该数组的大小顺序序排列,输出[1,2,3,4,5,6,13]      
                var arr2 = numberArray.sort(function(a, b) {
                    if(a > b) {
                        return 1;
                    } else if(a < b) {
                        return -1;
                    } else {
                        return 0;
                    }
                });
                console.log(arr2);//[1, 2, 3, 4, 5, 6, 13]

    由于数组的sort()方法是根据字符串排序的,所以我们需要做一下判断。如果直接用var arr2=numberArray.sort();那么会是[1,13,2,3,4,5,6]  的效果;

    比起之前的代码精简很多。

    //外循环控制轮数(元素个数减一)
        for(var i=0;i<numberArray.length-1;i++){
            //开闭原则中的开关(默认是开启的)
            var bool = true;

            //内循环控制次数(元素个数减一)
            for(var j=0;j<numberArray.length-1-i;j++){
                //注意:1.怎么比较?(相邻的两个数比较)    2.什么情况下交换位置。(前边数大)
                //如果判断条件和交换元素位置呢
                if(numberArray[j] > numberArray[j+1]){
                    //交换位置
                    var temp = numberArray[j];
                    numberArray[j] = numberArray[j+1];
                    numberArray[j+1] = temp;
                    //不会的同学举手。(没有排序完毕呢)
                    bool = false;
                }
               
            }
            //内循环中的if语句没有被执行
            if(bool){
                break;
            }
        }
     console.log(numberArray);//[1, 2, 3, 4, 5, 6, 13];

    终极版本:var arr2 = numberArray.sort(function(a, b) {
                    
                    return a-b;
                });

                console.log(arr2);//[1, 2, 3, 4, 5, 6, 13];

  • 相关阅读:
    Codeforces 405E DFS
    Codeforces 433C #248_div1_A 中位数的应用
    UVALive 4487 Exclusive-OR 加权并查集神题
    Codeforces 442A Borya and Hanabi
    人工智能:实现人工智能是是不可能的吗?
    关于kinect开发的网址
    jsp笔记(1)
    关于Kinect音频开发的探究
    windows10添加电源计划修改的快捷方案
    关于 kinect 的开发
  • 原文地址:https://www.cnblogs.com/ruose/p/5769293.html
Copyright © 2011-2022 走看看