码迷,mamicode.com
首页 > 编程语言 > 详细

js:数组(创建、遍历、函数)

时间:2020-07-18 13:40:20      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:cat   开头   col   src   inf   OLE   eof   通过   sort   

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

 

js:数组(创建、遍历、函数)

标签:cat   开头   col   src   inf   OLE   eof   通过   sort   

原文地址:https://www.cnblogs.com/zhai1997/p/13334571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!