1. 程式人生 > 實用技巧 >xray+Crawlergo聯動實現批量檢測--守株待兔

xray+Crawlergo聯動實現批量檢測--守株待兔

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中在同一個陣列中允許有多種資料型別的資料存在