4篇筆記搞定JavaScript—-第三篇
- 2019 年 10 月 29 日
- 筆記
數組:
數組對象用來在單獨的變數名中存儲一系列的值。
我們使用關鍵詞 new 來創建數組對象。下面的程式碼定義了一個名為 myArray 的數組對象:
var myArray=new Array();
有兩種向數組賦值的方法(你可以添加任意多的值,就像你可以定義你需要的任意多的變數一樣)。
第一種方法:
var mycars=new Array(); mycars[0]="Saab"; mycars[1]="Volvo"; mycars[2]="BMW";
第二種方法:
var mycars=new Array("Saab","Volvo","BMW");
注意:如果你需要在數組內指定數值或者邏輯值,那麼變數類型應該是數值變數或者布爾變數,而不是字元變數。
訪問數組
通過指定數組名以及索引號碼,你可以訪問某個特定的元素。
document.write(mycars[0]);
修改已有數組中的值
如需修改已有數組中的值,只要向指定下標號添加一個新值即可:
mycars[0]="Opel";
數組的屬性:
length:獲得數組的長度
var len = arr.length
如果保存到變數裡面,這個時候變數裡面保存的是數字,如果說直接把arr.length寫到循環裡面,循環的時候會在去arr.length找長度(個數)
格式:var arr=[10,20,30];
數據:[10,20,30]
下標:[0,1,2]
數據 |
10 |
20 |
30 |
---|---|---|---|
下標 |
0 |
1 |
2 |
案例求學生成績之和:
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr=[96,98,88,92,45,48,56,96,87,55,62,22]; var len = arr.length; alert(len); var sum=0; for(var i=0;i<len;i++){ sum = sum+arr[i];[/i] } [i]document.write("學生總成績為:"+sum);[/i] </script> </head> <body> </body> </html>
效果:
案例:求學生平均成績
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr=[96,98,88,92,45,48,56,96,87,55,62,22]; var len = arr.length; var sum=0; for(var i=0;i<len;i++){ sum = sum+arr; } var avg = sum/len; document.write("學生平均成績為:"+avg); </script> </head> <body> </body> </html>
效果:
案例:數組排序(從小到大)->冒泡排序法:
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> function bubbleSort(array){ for(var j=0;j<array.length;j++){ for(var i=0;i<=array.length-j-1;i++){ if(array>array[i+1]){ var temp = array; array.splice(i,1,array[i+1]); array.splice(i+1,1,temp); } } } return array; } document.write(bubbleSort([21,5,6,78,3,1,25])); </script> </head> <body> </body> </html>
效果:
二維數組
二維數組內部數據為數組,如下Arr二維數組
var arr1 = [23,12,56]; var arr2 = [45,12,33]; var arr3 = [34,44,55]; var arr=[arr1,arr2,arr3]; Arr = [ [23,12,56], [45,12,33], [34,44,55], ];
案例:求二維數組的最大值
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr = [ [23,12,56], [45,12,33], [34,44,55], ]; var max = arr[0][0]; var xiabiao1 = 0; var xiabiao2 = 0; for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++){ if(max<arr[j]){ max = arr[j]; xiabiao1=i; xiabiao2=j; } } } document.write("最大值為:"+max+",下標為:"+xiabiao1+","+xiabiao2); </script> </head> <body> </body> </html>
效果:
數組方法:
arr.concat() 方法用於連接兩個或多個數組。
該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
連接數組和字元串:
<script type="text/javascript"> var a = [1,2,3]; document.write(a.concat(4,5)); </script>
輸出:
1,2,3,4,5
連接兩個數組:
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; var arr2 = new Array(3); arr2[0] = "James"; arr2[1] = "Adrew"; arr2[2] = "Martin"; document.write(arr.concat(arr2)); </script>
輸出:
George,John,Thomas,James,Adrew,Martin
arr.join() 方法用於把數組中的所有元素放入一個字元串。元素是通過指定的分隔符進行分隔的。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join()) </script>
輸出:
George,John,Thomas
arr.pop() 方法用於刪除並返回數組的最後一個元素
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; document.write(arr); document.write("<br />"); document.write(arr.pop()); document.write("<br />"); document.write(arr); </script>
輸出:
George,John,Thomas
Thomas
George,John
arr.reverse()用於顛倒數組中元素的順序
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; document.write(arr + "<br />"); document.write(arr.reverse()); </script>
輸出:
George,John,Thomas
Thomas,John,George
識別方法和屬性:
屬性:對象.屬性名;
方法:對象.方法名();
Math 對象:
Math.pow(n1,n2):求n1的n2次方
<script type="text/javascript"> document.write(Math.pow(0,0) + "<br />"); document.write(Math.pow(-2,3) + "<br />"); document.write(Math.pow(-2,4) + "<br />"); </script>
結果:
1
-8
16
Math.abs(n):可返回數的絕對值
<script type="text/javascript"> document.write(Math.abs(7.25) + "<br />") document.write(Math.abs(-7.25) + "<br />") document.write(Math.abs(7.25-10)) </script>
輸出:
7.25
7.25
2.75
Math.random():可返回介於 0 ~ 1 之間的一個隨機數
Math.floor(n):向下取整,不大於n的最大的整數
Math.ceil(n):向上取整,不小於n的最小的整數