Array簡介
Array數(shù)組的每一項可以保存任何類型的數(shù)據(jù)麻惶,可以用數(shù)組的第一個位置保存字符串铃将,第二個位置保存數(shù)值迫悠,第三個位置保存數(shù)值,以此類推廊营。
創(chuàng)建Array的方式
- 使用構造器創(chuàng)建
var colors = new Array();
var colors = new Array(20)
var colors = new Array("red","blue","yellow")
- 使用數(shù)組字面量創(chuàng)建
var colors = ["red","blue","yellow"];
var values = [1,2,] //不要這樣創(chuàng)建
在IE中values會成為一個包含3個項的且每項的值分別為1,2霜运,undefined的數(shù)組勾邦,其他瀏覽器中會成為一個包含2項且值分別為1和2的數(shù)組。
與對象一樣午衰,在使用數(shù)組字面量創(chuàng)建數(shù)組時立宜,也會調(diào)用Array構造函數(shù)。
讀取和設置元素值
var colors = ["red","blue","green"];
alert(colors[0]); //顯示第一項
colors[2] = "black"; // 修改第三項
colors[3] ="brown" //增加第四項
方括號中的索引表示要訪問的值臊岸,索引小于數(shù)組中的項數(shù)橙数,則返回對應的值。
數(shù)組的length屬性
length屬性不是只讀的帅戒,可以通過它從數(shù)組的末尾移除項或添加新項灯帮。
var colors = ["red","blue","green"]
colors.length = 2;
alert(colors[2]); //undefined
檢測數(shù)組
- instanceof
instanceof只有一個全局執(zhí)行環(huán)境
-Array.isArray()
棧方法
- push()
可以接受任意數(shù)量的參數(shù),把它們逐個添加到數(shù)組末尾逻住,并返回修改后數(shù)組的長度 - pop()
從數(shù)組末尾移除最后一項钟哥,減少數(shù)組的length,并返回移除的項
隊列方法
模擬隊列只需從一個數(shù)組前段取得項
- shift()
移除數(shù)組中的第一個項瞎访,并返回該項腻贰,同時數(shù)組長度減1. - unshift()
能夠在數(shù)組前段添加任意個項并返回數(shù)組新長度
重排序方法
- reverse()
- sort()
sort可以接收一個比較函數(shù)作為參數(shù),以便我們指定哪個值位于哪個值的前面
function(value1,value2){
if(value1<value2){
return -1;
}
else if(value1>value2){
return 1;
}else{
return 0;
}
var values = [0,1,5,10,15]
values.sort(compare);
alert(values) // 0,1,5,10,15
操作方法
- concat()
可以基于當前數(shù)組的所有項創(chuàng)建一個新數(shù)組
var colors = ["red","green","blue"]
var colors2 = colors.concat["yellow",["black","brown"]);
alert(colors); //red,green,blue,yellow,black,brown
slice()
它能夠基于當前數(shù)組中的一個或多個項創(chuàng)建一個新數(shù)組扒秸。slice()方法可以接受一個或兩個參數(shù)银受,即要返回的起始和結束位置践盼。
在只有一個參數(shù)的情況下,slice只返回從參數(shù)指定位置開始到當前數(shù)組末尾的所有項宾巍。
如果有兩個參數(shù)咕幻,slice返回起始和結束位置之間的項,但不包括結束位置的項顶霞。splice()
向數(shù)組的中部插入項indexOf()
從數(shù)組的開頭開始向后查找lastIndexOf()從數(shù)組的末尾開始查找
迭代方法
- every()
對數(shù)組中的每一項運行給定函數(shù)肄程,如果該函數(shù)每一項都返回true,則返回true
-some()
對數(shù)組中的每一項運行給定函數(shù),如果該函數(shù)對任意項返回true,則返回true选浑。
forEach()對數(shù)組中的每一項運行給定函數(shù)蓝厌,沒有返回值
-map()
-filter()