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的最小的整數