var arr = [1,2,3];
var arr = [];
arr[0] =1;
var arr = [1,'a',{name:'a'},function(){}];
typeof [1]
// "object"
var arr = [1,2,3];
注:如果省略數(shù)組直接量的某個值,省略的元素將被賦予undefined值。var a=new Array();
var a2=new Array(10);
var a3=new Array(1,2,3,4);
[1,2,3].length //3
var arr = [1,2,3]
arr.length //3
arr.length = 2;
arr //[1,2]
var arr = [1,2,3];
arr.length = 0;
arr //[]
var arr = [1];
arr.length=3;
arr[1] //undefined
var arr = [1,,2]
arr.length //3
var arr = [,,];
arr.length //2
var arr = [1,2]
arr[0] //1
arr[1]=3; // [1,3]
var arr = [1,2]
arr.push(3) // [1,2,3]
arr.push('a','b') //[1,2,3,'a','b']
// shift()是刪除數(shù)組的一個元素。
arr.shift() // [2,3,'a','b']
var arr = [[1],[2,3]];
arr[0][0] // 1
arr[1][1] //3
遍歷
我們可以使用for循環(huán)、while循環(huán)、for..in或者forEach()方法來遍歷數(shù)組
var a = [1, 2, 3];
// for循環(huán)
for(var i = 0; i < a.length; i++) {
console.log(a[i]);
}
//while
var i = 0;
while (i < a.length) {
console.log(a[i]);
i++;
}
//for..in
for (var i in a) {
console.log(a[i]);
}
//forEach
a.forEach(function(v){
console.log(v);
})
類數(shù)組對象
在JavaScript中,有些對象被稱為“類數(shù)組對象”。意思是,它們看上去很像數(shù)組,可以使用length屬性,但是它們并不是數(shù)組,無法使用一些數(shù)組的方法。
var o = {
0: 'a',
1: 'b',
length:2
}
o[0] // "a"
o[1] // "b"
o.length // 2
o.push('d') // TypeError: o.push is not a function
上面代碼中,變量o是一個對象,雖然使用的時候看上去跟數(shù)組很像,但是無法使用數(shù)組的方法。這就是類數(shù)組對象。
類數(shù)組對象有一個特征,就是具有l(wèi)ength屬性。換句話說,只要有l(wèi)ength屬性,就可以認為這個對象類似于數(shù)組。但是,對象的length屬性不是動態(tài)值,不會隨著成員的變化而變化。
由于類數(shù)組對象沒有繼承自Array.prototype,那就不能在它們上面直接調(diào)用數(shù)組方法。不過我們可以間接的使用Function.call方法調(diào)用。
var o = {
0: 'a',
1: 'b',
length:2
};
Array.prototype.slice.call(o) // ["a","b"]
典型的類似數(shù)組的對象是函數(shù)的arguments對象,以及大多數(shù)DOM元素集,還有字符串。
更多建議: