zoukankan      html  css  js  c++  java
  • js:数组(创建、遍历、函数)

    1、数组

    采用单个变量只能存储一个数据,数组能够存储多个数据,获取方式也比较简单。它是将一组数据存储在当个变量下的存储方式。

    2、数组的创建

    (1)new方式创建,不指定数组长度

            <script>
               var arr=new Array();
               arr[0]=123;
               arr[1]=true;
               arr[2]='a';
               for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
                   console.log(typeof arr[i]);
                   console.log('---------');
               }
            </script>

     (2)new方式创建数组并指定数组长度:

            <script>
               var arr=new Array(3);
               arr[0]=123;
               arr[1]=true;
               arr[2]='a';
               for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
                   console.log(typeof arr[i]);
                   console.log('---------');
               }
            </script>

    (3)创建数组的时候直接实例化数组

            <script>
               var arr=new Array('a',true,123);
               for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
               }
            </script>

    (4)字面量方式创建数组

           <script>
               var arr=['a','b','c',true,123];
                for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
               }
            </script>

    3、数组的扩容

    (1)修改长度

           <script>
               var arr=new Array('a',true,123);
               arr.length=9;
               for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
               }
            </script>

     (2)追加元素

           <script>
               var arr=new Array('a',true,123);
               arr[3]='1';
               arr[4]='abc';
               for(var i=0;i<arr.length;i++){
                   console.log(arr[i]);
               }
            </script>

    3、数组的遍历

    (1)for循环遍历方式

            <script>
               var arr=new Array('a',true,123,'a','qq');
               for(var i=0;i<arr.length;i++){
                   console.log(i+':'+arr[i]);              
               }
            </script>

    for循环遍历的优化:

           <script>
               var arr=new Array('a',true,123,'a','qq');
               var l=arr.length;
               for(var i=0;i<l;i++){
                   console.log(i+':'+arr[i]);              
               }
            </script>

     避免了反复获取数组的长度造成程序的性能减低

    (2)for ... ...in(效率低)

                    <script>
               var arr=new Array('a',true,123,'a','qq');
               for(var i in arr){
                   console.log(i+':'+arr[i]);              
               }
            </script>

     (3)for... ...of

       <script>
               var arr=new Array('a',true,123,'a','qq');
               var l=arr.length;
               for(var i  of arr){
                   console.log(i+':'+arr[i]);              
               }
       </script>

     for.. ..in的输出的参数是索引,for... ...of直接輸出的是對應索引的内容,性能好于for... ...in,但是不能处理对象

    (4)forEach

          <script>
               var arr=new Array('a',true,123,'a','qq');
               var l=arr.length;
               arr.forEach( function(item,index){
                console.log(index+':'+item)
                } )
            </script>

     性能比for循环要弱

    4、相关函数

    (1)concat:连接两个数组

          <script>
               var arr1=new Array('a',true,123,'a','qq');
               var arr2=new Array('1','2');
               var arr3=arr1.concat(arr2);
               arr3.forEach( function(item,index){
                console.log(index+':'+item)
                } )
            </script>

     (2)join() 把数组中的所有元素放入一个字符串,元素通过指定的分隔符进行分隔

            <script>
               var arr1=new Array('a',true,123,'a','qq');
               console.log(arr1.join("-"));
            </script>

     (3)排序

    数字型数据:

           <script>
                var arr=new Array(12,23,3,4,5,6,567);
               console.log(arr.sort());
            </script>

     字符串型:

             <script>
               var arr=new Array('a','c','d','t','b');
               console.log(arr.sort());
            </script>

     sort函数是按照字母顺序(ascII)进行排序的

    要想实现对数字的排序,需要添加一个函数:

           <script>
                function sortNumber(a,b)
                {
                return a - b
                }
               var arr=new Array(12,1,5343,2,123);
               console.log(arr.sort(sortNumber));
            </script>

     (4)其他函数

    • splice:删除元素并添加新元素
    • toString:将数组转换为字符串并返回
    • valueOf:返回数组的原始值
    • unshift:向数组的开头添加一个或更多元素,并返回新的长度
    • push:向数组的末尾添加一个或更多元素,并返回新的长度。等... ...

    总结:

    与c和java的数组不同,js中在同一个数组中允许有多种数据类型的数据存在

  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13334571.html
Copyright © 2011-2022 走看看