定義:var colors=new Array();前端
var colors=new Array(3);數組
var colors=new Array('red');框架
var colors=['red','green'];函數
檢測數組:firefox
if (value instanceof Array) :假定只有一個全局執行環境。具體是不一樣框架有不一樣的定義對象
Array.isAarry(value): ie9+,firefox4+,safari5+, opera10.5+排序
數組轉換:全部對象都具備toLocaleString(),toString() 和valueOf();索引
colors.toString();//red,blue,green ,上訴三個方法都是這樣調用隊列
與 colors.join(',')效果一致。it
棧方法:LIFO(Last-In-First-Out 後進先出) :最新添加的項最先被移除
push():在數組末尾添加該項
pop():在數組末尾移除最後項
隊列方法:FIFO(First-In-First-Out先進先出) :在隊列的末端添加項,從列表的前端移除項
shift() :移除數組中的第一項
unshift() :在數組前端添加任意個項
排序方法:
values.sort();
values.reverse();
操做方法:
concat():能夠基於當前數組中的全部項建立一個新的數組
例:var colors=[red,green]
var colors2=colors.concat(yellow,[black,brown])
alert(colors2.toString()) ;// red,green,yellow,black,brown
最強大的數組方法:splice() 主要用途是向數組的中部插入項
刪除:可刪除任意數量的項,需指定兩個參數:要刪除的第一項的位置和要刪除的項數
例:splice(0,2)
插入:可向指定的位置插入任意數量的項 ,需提供多個參數:起始位置,插入(刪除)多少項,項值(....)
例:splice(2,0,red,green) 從位置2開始插入兩項
替換:可向指定的位置插入任意數量的項,且同時刪除任意數量的項,需指定三個參數:起始位置,要刪除和插入的任意項
例:splice(2,1,red,green),會刪除位置2的項,從位置2開始插入兩項
位置方法:
indexOf():從數組開頭開始向後查找
lastIndexOf():從數組後面開始向前查找
須要注意兼容:ie9+,firefox2+,safari3+等
迭代方法:定義了5個迭代方法
var numbers=[1,2,3,4,5,4,3,2,1]
every():對數組中的每一項運行給定函數,每一項都返回true,則返回true;
例: var everyResult=numbers.every(function( item,index,array){ return (item>2) }) //返回false
some():對數組中的每一項運行給定函數,有一項返回true,則返回true;
例: var someResult=numbers.some(function( item,index,array){ return (item>2) }) //返回true
filter():對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組
例:var filterResult=numbers.filter(function( item,index,array){ return (item>2) }) //返回 {3,4,5,4,3}
map():對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組
例:var mapResult=numbers.map(function( item,index,array){ return (item*2)}) //返回{2,4,6,8,10.8.6.4.2}
forEach():對數組中的每一項運行給定函數,這個方法沒有返回值
例:var numbers.forEach(function(item,index,array){ }) //本質於for循環同樣
歸併方法:迭代數組的全部項,而後構建一個最終返回的值
reduce():從數組的第一項開始,逐個遍歷到最後
reduceRight():從數組的第一項開始,向前遍歷到第一項
都接收四個參數:前一個值,當前值,項的索引,和數組對象
例:var values=[1,2,3,4,5]
var sum=values.reduce(function(prev,cur,index,array){ return prev+cur })
分析:第一輪:prev 1,cur 2,第二輪: prev 3,cur 3