1. 程式人生 > >AS3.0陣列的方法大全(精選)

AS3.0陣列的方法大全(精選)

indexOf,lastindexOf用來直接查詢目標元素在陣列中的索引。

indexOf用法: 目標陣列.indexOf(要查詢的元素) 或者 目標陣列.indexOf(要查詢的元素,查詢的起始位置) //按索引從小到大查詢,找到返回索引值

lastindexOf用法:目標陣列.lastindexOf(要查詢的元素) 或者 目標陣列.lastindexOf(要查詢的元素,查詢的起始位置)//按索引從大到小查詢,找到返回索引值

push用法:陣列.push(元素);陣列.push(元素1,元素2,…元素n) //在陣列尾部新增一個或多個元素

unshift用法:陣列.unshift(元素);陣列.unshift(元素1,元素2,…元素n) //在陣列頭部新增一個或多個元素

pop用法:陣列.pop() //將陣列最後一個元素刪除

shift用法:陣列.shift() //將陣列第一個元素刪除,剩餘元素索引值自動減1
splice的四種用途:
(1)陣列.splice(刪除點索引,要刪除的元素數目,新元素1,新元素2,…新元素n) //從陣列某位置開始,刪除被指定數目的元素,並插入一些新元素。
(2)陣列.splice(刪除點索引,要刪除的元素數目) //刪除陣列中某位置之後的幾個元素
(3)陣列.splice(刪除點索引) //刪除陣列中某位置之後的所有元素
(4)陣列.splice(刪除點索引,0,新元素1,新元素2…新元素n) //在陣列某位置之後,插入新元素
—-{刪除點的索引可以是負值,表示陣列從尾部倒數的位置。比如,索引為-3,指的是陣列倒數第三個元素}

slice可以獲取陣列中一段連續的元素,而不改變原有陣列的內容。也就是說從原有陣列複製一部分陣列出來組成一個新陣列。
用法:陣列.slice(起始索引,終點索引) //返回值是擷取的元素組成的新陣列,新中包括起點索引的元素,但不包括終點索引的元素。
        陣列.slice(起始索引) //返回的是從起始點索引開始到陣列終點的這段元素
—-{起始點和終點的索引可以是負值,表示陣列從尾部倒數的位置。比如,索引為-3,指的是陣列倒數第三個元素}

concat將多個元素或陣列拼成一個新的陣列。
用法: 陣列.concat(引數1,引數2,…引數n) //concat會將陣列分開成各個元素按順序加入新陣列中
例子:
     var foo:Array=["a","b","c"]
     var bar1:int=1
     var bar2:Array=[2,3,4]
     var newarr=foo.concat(bar1,bar2)
     trace(newarr)
     //輸出:a,b,c,1,2,3,4
     trace(newarr.length)
     //輸出:7
   —-{concat與push的區別:concat不會改變原有陣列內容,push直接改變原有陣列內容。concat加入陣列時會將陣列打散再按順序將元素加入到新陣列中,push加入陣列時會將整個陣列當作一個元素加入到原陣列的後面}
   reverse能將陣列元素倒序
   用法:陣列.reverse() //返回的是新的陣列

   sort對陣列元素排序
   用法:
     (1)陣列.sort() //預設排序 按照字串字母順序排序,如果元素是數值,也會被當成字串來排序
     (2)陣列.sort(排序方式) //使用“排序方式”引數來排序,排序方式是一些定義好的整數常量
     (3)陣列.sort(比較函式) //使用自定義的比較函式,注意此處只可寫函式排序
   sortOn 當陣列元素是複雜資料型別,且需要根據這種物件的某個屬性值來排序時使用。比如說某俎元素都有一個屬性值name,希望根據name來排序,那麼使用的方法如下
   用法:
     (1)陣列.sortOn(”name”)   //根據指定屬性,預設排序
     (2)陣列.sortOn(”name”,排序方式) //根據指定屬性,使用指定的“排序方式”來排序
     (3)陣列.sortOn(”name”,比較函式) //根據指定屬性,使用自定義的函式排序
   排序方式,是指一些再Array類中定義好的整形常量,代表幾種不同的排序方式
   (1)Array.CASEINSENSITIVE 值為1,表示大小寫不敏感按字母順序排序,如果是數字則從小到大。
   (2)Array.DESCENDING 值為2,表示按字母到序排序
   (3)Array.UNIQUESORT 值為4,表示必須是唯一性排序,如果比較值結果相同,則放棄排序 返回值為 0
   (4)Array.RETURNINDEXEDARRAY 值為8,讓sort()和sortOn()函式返回值返回排序後的索引列表,同時保持原陣列不變
   (5)Array.NUMERIC or 16 值為16,強制sort()和sortOn()中對數值採用從小到大排序。
   比較函式的要求是,有兩個引數,返回值是1,0,-1中的一個。
   function 函式名(引數A,引數B):int{}
   比較函式的作用是將數組裡的元素一對對的取出來分別作為這個比較函式的兩個引數,如果返回為1,那麼作為A引數的元素就應該排在B的後面;如果返回為-1,那麼A引數的元素就應該排在B前面,如果為0,表示結果一樣。
   forEach用法:陣列.forEach(callFunction:Function,thisObject:*=null):viod //遍歷操作:運算元組中的每一項元素。回撥函式不需要返回任何值。
   filter用法:陣列.every(callFunction:Function,thisObject:*=null):Array //過濾器:將符合回撥函式條件的元素提出來,構成一個新的陣列並返回。
   every用法:陣列.filter(callFunction:Function,thisObject:*=null):Boolean //全員滿足才為真:必須所有元素都讓回撥函式返回為true,every()才返回true,否則為false。回撥函式返回單個元素比較結果,布林值。
   map用法:陣列.filter(callFunction:Function,thisObject:*=null):Array //對映器:根據回撥函式操作原陣列每個元素,並利用回撥函式返回的結果生成新的陣列。回撥函式返回的是單個新陣列元素。
   some用法:陣列.filter(callFunction:Function,thisObject:*=null):Boolean //有一個滿足為真:只要有一個元素能讓回撥函式返回true,則some()返回true,否則為false。回撥函式返回的是單個元素比較結果,布林值。