5.2 Array類型

Array簡介

Array數(shù)組的每一項(xiàng)可以保存任何類型的數(shù)據(jù),可以用數(shù)組的第一個位置保存字符串,第二個位置保存數(shù)值,第三個位置保存數(shù)值,以此類推。

創(chuàng)建Array的方式

  • 使用構(gòu)造器創(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個項(xiàng)的且每項(xiàng)的值分別為1,2,undefined的數(shù)組,其他瀏覽器中會成為一個包含2項(xiàng)且值分別為1和2的數(shù)組。
    與對象一樣,在使用數(shù)組字面量創(chuàng)建數(shù)組時,也會調(diào)用Array構(gòu)造函數(shù)。

讀取和設(shè)置元素值

var colors = ["red","blue","green"];
alert(colors[0]); //顯示第一項(xiàng)
colors[2] = "black"; // 修改第三項(xiàng)
colors[3] ="brown" //增加第四項(xiàng)

方括號中的索引表示要訪問的值,索引小于數(shù)組中的項(xiàng)數(shù),則返回對應(yīng)的值。

數(shù)組的length屬性

length屬性不是只讀的,可以通過它從數(shù)組的末尾移除項(xiàng)或添加新項(xiàng)。

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ù)組末尾移除最后一項(xiàng),減少數(shù)組的length,并返回移除的項(xiàng)

隊(duì)列方法

模擬隊(duì)列只需從一個數(shù)組前段取得項(xiàng)

  • shift()
    移除數(shù)組中的第一個項(xiàng),并返回該項(xiàng),同時數(shù)組長度減1.
  • unshift()
    能夠在數(shù)組前段添加任意個項(xiàng)并返回?cái)?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()
    可以基于當(dāng)前數(shù)組的所有項(xiàng)創(chuàng)建一個新數(shù)組
var colors = ["red","green","blue"]
var colors2 = colors.concat["yellow",["black","brown"]);
alert(colors); //red,green,blue,yellow,black,brown
  • slice()
    它能夠基于當(dāng)前數(shù)組中的一個或多個項(xiàng)創(chuàng)建一個新數(shù)組。slice()方法可以接受一個或兩個參數(shù),即要返回的起始和結(jié)束位置。
    在只有一個參數(shù)的情況下,slice只返回從參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng)。
    如果有兩個參數(shù),slice返回起始和結(jié)束位置之間的項(xiàng),但不包括結(jié)束位置的項(xiàng)。

  • splice()
    向數(shù)組的中部插入項(xiàng)

  • indexOf()
    從數(shù)組的開頭開始向后查找

  • lastIndexOf()從數(shù)組的末尾開始查找

迭代方法

  • every()
    對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)每一項(xiàng)都返回true,則返回true

-some()
對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對任意項(xiàng)返回true,則返回true。

forEach()對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),沒有返回值

-map()

-filter()

歸并方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,686評論 0 4
  • 第2最常用類型。 特點(diǎn): 數(shù)據(jù)的有序列表 數(shù)據(jù)的每一項(xiàng)可以保存任何類型的數(shù)據(jù) 數(shù)組的大小可以動態(tài)調(diào)整、自動增長 創(chuàng)...
    AbbyLC閱讀 335評論 0 0
  • Chapter 5 引用類型 Object類型 創(chuàng)建Object實(shí)例new Object()var person ...
    云之外閱讀 438評論 0 0
  • 引用類型與傳統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì)中的類相似,但實(shí)現(xiàn)不同。 對象在 JavaScript 中被稱為引用類型的值,而且有...
    BertFu閱讀 401評論 0 0
  • 第一章: JS簡介 從當(dāng)初簡單的語言,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,763評論 0 6

友情鏈接更多精彩內(nèi)容