聲明數組的方法:
var colors = new Array() ;
var colors = new Array(20) ;//長度為20的數組
var colors = new Array("red","blue","green") ;
var colors = ["red","blue","green"] ;
var colors = Array(3) ;
var colors = Array("bue") ;
arrays.length 可以獲取colors數組的長度。這個長度不是只讀的,而是可變的!
var arrays = ["red","blue","green"] ; // 有三個元素,長度為3
arrays.length = 2 ; //將arrays數組長度設為2後
alert(arrays[2]) ; //Undefined 第三個元素為Undefined
將長度增大或者縮短之後超出原來數組長度或者小於新數組長度的部分的值為undefined
檢測當前對象事都是數組的方法:
if(value instanceif Array){
}
if(Array.isArray(value)){
}
value為要檢測的對象
JavaScript的數組可以當做棧來處理,也可以當做隊列或者雙向隊列處理,甚至能把棧,隊列,雙向隊列的特點和方法集合起來。
我們可以用下面的壹些方法來對數組進行任意的插入刪除操作。
棧方法:後進先出
push() :方法可以接收任意數量的參數,把他們添加到數組末尾,並返回修改後數組的長度。
pop() :方法則從數組末尾移除最後壹項,減少數組的length,然後返回移除的項。
隊列方法:先進先出
shift():移除數組中的第壹個項並返回該項,長度減1
結合使用shift()和push()方法,可以想使用隊列壹樣使用數組,後端添加,前端刪除
Unshift():在數組前端添加任意個項並返回新數組的長度
結合使用unshift()和pop()方法,從相反的方向來模擬隊列,即在數組的前端添加項,在後端移除
var colors = new Array() ;
var count = colors.push("red","green") ;
alert(count) ;//2
var item = colors.shift() ; //隊列出隊操作
alert(item) ;//"red"
colors.unshift("red") ; //從前邊插入
重排序方法:
sort()方法:
sort在排序時都用toString把數據轉換成字符串形式:
var values = [0,1,5,10,15] ;
values.sort() ;
alert(values) ;// 0 ,1 ,10, 15 ,5 ;
要實現對數的排序,需要寫壹個比較函數:
function compare(value1,value2){
if(value1 < value2){
return -1 ;
}else if(value1 > value2){
return 1 ;
}else return 0 ;
}
values.sort(compare) ;
reverse()方法:反轉數組項的順序
操作方法:
1、contact():基於當前數組中的所有項創建壹個新數組,而不是在當前數組上直接拼接。
colors.contact(["black","yellow"]) ;//contact用來拼接數組,把參數數組拼接到colors的後面
2、slice():基於當前數組中的壹個或多個項創建壹個新數組,可接收壹或兩個參數,即要返回項的起始和結束位置。若參數中有壹個負數,則用數組長度加上該數來確定相應的位置
var colors = ["red","blue","green"] ;
var colors2 = colors.slice(1) ; //返回從數組下標1到最後縮構成的壹個數組
var colors3 = colors.slice(1,4) ; //
返回從數組下標1--3構成的壹個數組
3、splice()方法:刪除、插入、替換
刪除:當splice方法指定兩個參數時,color.splice(1,3)表明刪除從下標1開始連續三項
插入:當splice指定三個參數:起始位置、0、插入的項,color.splice(2,0,"red","green") 表明從下標2開始插入“red”和“green”
替換:color.splice(1,2,"red","green") 表明先刪除下標1開始的連續兩項,在從下標1開始插入“red”和“green”
位置方法:
indexOf()方法:
colors.indexOf(value) 從數組開頭開始查找value,返回value的下標,如果沒找到返回-1 。在查找時要求嚴格查找,相當於===
lastIndexOf()方法:從數組的末尾開始向前查找