• 数组(定义、遍历、冒泡排序、合并和Join 方法)


     一、数组的定义

    1.理解:数组指一组数据,有序的数据,可以一次性存储多个数据,将多个元素(通常统一类型)按照一定的顺序排列放到一个集合里

    2.通过构造函数创建数组: var 数组名=new Arrary( )

    var arr=new Array();

    注:括号里如果是1个数字,代表数组的长度是这个数字,就是里面有多少个元素;

           括号里如果有多个数字,代表的就是元素本身。

            var arr=new Array(5);
            console.log(arr);//(5) [empty × 5]表示5个空元素
           var arr=new Array(5,1,10);
            console.log(arr);//(3) [5, 1, 10]表示3个元素:5,1,10

    3.通过字面量的方式创建数组 var 数组名=[    ]

    var arr=[1,2,3,4,5];

    4.注意

    • 如果定义的数组没有长度,那么默认是undefined;
            var arr=[];
            console.log(arr[1]);//undefined
    • 数组长度代表的是元素的个数,通过数组名.length获取数组长度(元素个数)
           var arr=[1,2,3,4,5];
            console.log(arr.length);//5
    • 数组的下标(索引)是从0开始的
            var arr=[1,2,3,4,5];
            console.log(arr[0]);//1
            console.log(arr[1]);//2
            console.log(arr[4]);//5
    • 数组里面的数据类型可以不一样,但是通常都是一样的,方便操作
           var arr=[1,"前端",2];
            console.log(arr[0]);//1
            console.log(arr[1]);//前端
    • 数组的长度可以改变,通过索引来设置数组中的元素的值
            var arr=[];
            console.log(arr.length);//0
            arr[0]=1;
            arr[1]=4;
            arr[2]=5;
            console.log(arr);//(3) [1, 4, 5]
            console.log(arr.length);//3

    二、数组的遍历:for循环

            var arr=[10,20,30,40,50];
            for(var i=0;i<arr.length;i++){
                console.log(arr[i]);//10 20 30 40 50
            }

    运用例子:

     //例1:数组中所有元素的和
            var arr=[10,20,30,40,50];
            var sum=0;
            for(var i=0;i<arr.length;i++){
                sum+=arr[i];
            }
            console.log(sum);//150
     //例2:数组中元素的平均值
            var arr=[10,20,30,40,50];
            var sum=0;
            for(var i=0;i<arr.length;i++){
                sum+=arr[i];
            }
            console.log(sum/arr.length);//30
      //例3:数组中的最大值和最小值
            var arr=[10,20,30,40,50];
            var max=arr[0];
            var min=arr[0];
            for(var i=0;i<arr.length;i++){
                if(max<arr[i]){
                 //最大值
                    max=arr[i];
                }
                 if(min>arr[i]){
                //最小值
                    min=arr[i];
                }
            }
            console.log(max);//50
            console.log(min);//10
     //例3:数组拼接字符串输出
            var arr=[10,20,30,40,50];
            var str="";
            for(var i=0;i<arr.length;i++){
               if(i==0){
                   str+=arr[i];
               }else{
                   str+="|"+arr[i];
               }
            }
            console.log(str);//10|20|30|40|50
     //例4:去掉重复的0
            var arr=[1,0,5,0,9,0,10];
            var newArr=[];
            for(var i=0;i<arr.length;i++){
                if(arr[i]!=0){
                    //利用新数组的长度巧妙的解决
                  newArr[newArr.length]=arr[i];  
                }
            }
            console.log(newArr);//(4) [1, 5, 9, 10]
      //例5:求数组的反转数
            var arr=[10,40,50,20,30];
            for(var i=0;i<arr.length/2;i++){
                temp=arr[i];
                arr[i]= arr[arr.length-1-i];
                arr[arr.length-1-i]=temp;
            }
            console.log(arr);//(5) [30, 20, 50, 40, 10]

    三、冒泡排序:把所有的数据按照一定的顺序进行排列

     // 冒泡排序(从小到大)
            var arr=[50,40,30,20,10];
            for(i=0;i<arr.length-1;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;
                    }
                }
            }
            console.log(arr);//(5) [10, 20, 30, 40, 50]
      //冒泡排序(从大到小)
            var arr=[10,20,30,40,50];
            for(var i=0;i<arr.length-1;i++){
                //比较的轮数循环
                for(var j=0;j<arr.length-1-i;j++){
                    //比较的次数循环 
                    if(arr[j]<arr[j+1]){
                        //交换变量
                        temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
                }
            }
            console.log(arr);//(5) [50, 40, 30, 20, 10]

    四、数组合并:使用concat方法合并数组

    //数组合并
            var ary1=[22,33,44,55,66];
            var ary2=["文件","编辑","查找","调试"];
            var ary3=ary1.concat(ary2);
            console.log(ary3);//(9) [22, 33, 44, 55, 66, "文件", "编辑", "查找", "调试"]

    五、Join 方法  返回一个字符串

    //        数组连接符join,返回一个字符串
            var ary4=[12,34,56,"前端","abc"];
            var ary5=ary4.join("&");
            document.write(ary5+ "<br>" +"返回的数据类型是:" + typeof(ary5))
    //  数组连接符join,返回一个字符串
            var ary1=[12,34,56,"前端","abc"];
            var ary=ary1.join("&");
            console.log(ary);//12&34&56&前端&abc
            console.log(typeof(ary));//string

     

    【转载文章务必保留出处和署名,谢谢!】
  • 相关阅读:
    Oracle体系结构详细图解
    了解Oracle体系结构(超详细)
    Oracle 12C DataGuard部署以及维护
    RAC上,对于buffer cache的全局锁,称为PCM锁,当然,对于enq,lc的锁,称为non-PCM锁
    oracle锁与死锁概念,阻塞产生的原因以及解决方案
    Oracle 多粒度锁机制介绍
    Master Note For Oracle Database Upgrades and Migrations (Doc ID 1152016.1)
    Oracle 12c和18c中的MGMTDB(下)
    AIX系统性能管理之Oracle案例分析
    Web安全从入门到“放弃”之暴力破解
  • 原文地址:https://www.cnblogs.com/EricZLin/p/8596183.html
Copyright © 2020-2023  润新知