xray+Crawlergo聯動實現批量檢測--守株待兔
阿新 • • 發佈:2020-07-17
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中在同一個陣列中允許有多種資料型別的資料存在