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中在同一个数组中允许有多种数据类型的数据存在

  • 相关阅读:
    mysql删选某列重复值
    apache伪静态
    nginx的伪静态
    如何对数据库进行优化
    ci的优缺点
    memcache状态说明
    sql中扩展插入语法
    若给个 个人收款的二维码,如何测试?
    安装自动化测试工具selenium
    PHP 线上项目 无法操作
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13334571.html
Copyright © 2011-2022 走看看