1. 程式人生 > >關於javascript的陣列與二維陣列、關聯陣列

關於javascript的陣列與二維陣列、關聯陣列

陣列:

	什麼是:記憶體中連續儲存多個數據的記憶體空間
	為什麼:便於批量管理和操作多個相關的資料
  1. 建立陣列: 有3種建立方法;
    (1)建立一個空陣列:
    var arr=[]; var arr=new Array();
    (2)建立陣列時就初始化值:var arr=[45,12,34,56]; var arr=new Array(45,12,34,56)
    (3)建立n個空元素的陣列:
    var arr=new Array(n);

  2. 訪問陣列:
    下標(index):陣列中唯一標識一個元素位置的序號,從0開始,連續且不重複
    索引陣列:下標都是數字序號的陣列
    arr[index]:
    使用每個陣列的每個元素相當於使用變數陣列其實就是連續的變數集合,統一起個名字

    特殊:
    (1)陣列不限制元素的資料型別
    (2)js陣列不限制下標越界

     	賦值:下標越界,不會報錯,會在新的位置建立新元素並儲存資料
      	稀疏陣列:下標不連續的陣列
    

    (3)js陣列不限制元素的個數

      	length屬性:記錄了陣列理論上的元素的個數
      	修改元素的個數:arr.length--,相當於陣列容量-1
      	length始終是陣列的最後一個元素下標+1
    
  3. 陣列的一些固定套路:
    (1)向陣列的末尾追加一位元素:
    arr[arr.length]=新值
    (2)如何獲取陣列的最後一位元素:
    arr[arr.length-1]; 倒數第n個元素 arr[arr.length];


    (3)刪除陣列末尾n個元素:
    arr.length-=n
    遍歷陣列:
    for(var i=0;i<arr.length;i++){ arr[i]; //當前正在遍歷的元素}

關聯陣列:

	什麼是:下標可以自定義名稱的陣列

如何var arr=[]; arr[“name”]=“zhangsan”; arr[“age”]=23;
遍歷時:length失效,因為下標是自定義的名稱,要用以下方法遍歷
for(var key in arr){ //in:會自動一次取出陣列中每隔元素的下標名稱
//key:變數
arr[key]
}

二維陣列:

在一個數組中又是一個數組,也可以稱為陣列中的陣列

var arr=[[1,2,3,4],[5,6,8,9]]; arr[1][0];//取出來的值就是5
二維陣列遍歷:
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
arr[i][j];//遍歷出每個元素
}
}