原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.htmlhtml
數組本質上是object(type of [ ] == 'object');github
因此要判斷是否是數組,須要經過判斷constructor。數組
[].constructor//Array
編輯器
使用length屬性獲取元素的個數。
數組的length屬性是可寫的。當length屬性小於元素個數時,數組中索引值大於length屬性的元素會被刪掉。函數
push
從數組尾部添加unshift
從數組頭部添加pop
從尾部彈出shift
從頭部彈出join
將數組中全部元素轉換成字符串並鏈接在一塊兒reverse
將數組中成員顛倒排序sort
將數組元素排序,能夠指定一個排序函數contact
將數組鏈接起來slice
返回指定數組的一個片斷或子數組splice
從數組中插入或刪除元素網站
var a = [1, 2, 3, 4];
var b = a.splice(1,2);//a = 1,4,b = 2,3code
forEach
從頭至尾遍歷數組,爲每一個元素調用制定的函數map
把數組的每一個元素傳給指定的函數,並返回一個數組。htm
var a = [1, 2, 3];
var b = a.map(function(x) {
return x*x;
}); //b = [1,4,9]對象
filter
把數組的每一個元素傳給指定的函數,經過函數返回的布爾值決定是否在返回數組中添加該元素
var a = [1, 2, 3];
var b = a.filter(function(x){
return x % 2 !== 0;
});//b = [1, 3]
every
把數組的每一個元素傳給指定的函數,若是所有調用返回true則every函數返回true
some
把數組的每一個元素傳給指定的函數,若是有調用返回true則every函數返回truereduce
用指定的函數對數組進行組合,生成單個值
var a = [1, 2, 3];
var b = a.reduce(function(x, y){
return x + y;
}, 0); //b = 6;
indexOf/lastIndexOf
在整個數組中搜索制定的元素
經過爲對象增長length自增的特性或者其餘特性,能夠生成一個‘類數組對象’,能夠經過length進行遍歷。例如函數的Arguments對象就是這樣