var a = new Array(); //空陣列
var a = new Array(1, true, "string", [1,2], {x:1,y:2}); //實陣列每個引數指定一個元素的值,值得型別沒有限制。引數的順序也是陣列元素的順序,陣列的 length 屬性值等於所傳遞引數的個數。
var a = new Array(5); //指定長度的陣列引數值等於陣列 length 的屬性值,每個元素的值預設值為 undefined。
var a = new Array(1); console.log(a[0]);
var a = []; //空陣列 var a = [1, true, "0", [1,0], {x:1,y:0}]; //包含具體元素的陣列推薦使用陣列直接量定義陣列,因為陣列直接量是定義陣列最簡便、最高效的方法。
var a = [1, , 2]; a.length; //返回3如果最後一個元素後面加逗號,不會產生空位,與沒有逗號時效果一樣。
var a = [1, 2, ]; a.length; //返回2
var a = new Array(3); //指定長度的陣列 a.length(); //返回3,產生3個空元素
var a = [1, 2, 3]; delete a[1]; console.log(a[1]); //undefined console.log(a.length); //3上面程式碼使用了 delete 命令刪除了陣列的第 2 個元素,這個位置就形成了空位。
var a = [, , ,]; for (var i = 0; i < a.length; i++) { console.log(a[i]); //返回3個undefined
var a = [, , undefined]; for (var i in a) { console.log(i); //返回2,僅讀取了第3個元素 } console.log(a.length); //返回3,包含3個元素
var a = []; //宣告陣列 a[false] = false; a[true] = true; console.log(a[0]); //返回undefined console.log(a[1]); //返回undefined console.log(a[false]); //返回false console.log(a[true]); //返回true console.log(a["false"]); //返回false console.log(a["true"]); //返回true
var a = [["張三",1],["李四",2],["王五",3]]; //二維陣列 for (var i in a) { //遍歷二維陣列 if (a[i][0] == "李四") console.log(a[i][1]); //檢索指定元素 }如果使用文字下標會更為高效。
var a = []; //定義空陣列 a["張三"] = 1; //以文字下標來儲存元素的值 a["李四"] = 2; a["王五"] = 3; console.log(a["李四"]); //快速定位檢索
var a = []; //陣列直接量 var b = function () { //函數直接量 return 2; } a[b] = 1; //把物件作為陣列下標 console.log(a.length); //返回長度為0 console.log(a[b]); //返回1可以這樣讀取元素值。
var s = b.toString(); //獲取物件的字串 console.log(a[s]); //利用文字下標讀取元素的值還可以這樣設計下標,此時為陣列的元素,而不是關鍵屬性了。
a[b()] = 1; console.log(a[2]); console.log(a.length);
var obj = {}; //定義物件直接量 obj[0] = 0; obj[1] = 1; obj[2] = 2; obj.length = 3; console.log(obj["2"]); //返回2它相當於一個物件直接量。
var obj = { 0 : 0, 1 : 1, 2 : 2, length : 3 };由於數位是非法的識別符號,所以不能使用點語法來讀寫屬性。
console.log(obj.0);而應該使用中括號語法來讀寫屬性。
console.log(obj["2"]);
陣列[下標表示式]
下標表示式是值為非負整數的表示式。var a = []; //宣告一個空陣列 a[0] = 0; //為第一個元素賦值為0 a[2] = 2; //為第三個元素賦值為2 console.log(a[0]); //讀取第一個元素,返回值為0 console.log(a[1]); //讀取第二個元素,返回值為undefined console.log(a[2]); //讀取第三個元素,返回值為2在上面程式碼中僅為 0 和 2 下標位置的元素賦值,下標為 1 的元素為空,讀取時為空的元素返回值預設為 undefined。
var a = new Array(); for (var i = 0; i < 10; i ++) { a[i ++] = ++ i; } console.log(a);
var a = 10, b = 20; //變數初始化 var temp = a; //定義臨時變數儲存a a = b; //把b的值賦值給a b = temp; //把臨時變數的值賦值給b利用陣列就可以這樣設計。
var a = 10, b = 20; //變數初始化 a = [b, b = a][0]; //通過陣列快速交換資料