js數(shù)組

JS數(shù)組的創(chuàng)建:

1,使用Array數(shù)組的方式:

  var arrayObj = new Array(); //創(chuàng)建一個數(shù)組

  var arrayObj = new Array([size]); //創(chuàng)建一個數(shù)組并指定長度,注意不是上限,是長度

  var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 創(chuàng)建一個數(shù)組并賦值

?? 要說明的是,雖然第二種方法創(chuàng)建數(shù)組指定了長度,但實際上所有情況下數(shù)組都是變長的,也就是說即使指定了長度為5,仍然可以將元素存儲在規(guī)定長度以外的,注意:這時長度會隨之改變。

2,采用字面量的方法

    var arr = [];//創(chuàng)建一個空數(shù)組

    var arr2 = [1,2,3];//創(chuàng)建一個有三個元素的數(shù)組

JS數(shù)組的主要方法:

1,數(shù)組元素的添加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 將一個或多個新元素添加到數(shù)組結(jié)尾,并返回數(shù)組新長度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 將一個或多個新元素添加到數(shù)組開始,數(shù)組中的元素自動后移,返回數(shù)組新長度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//將一個或多個新元素插入到數(shù)組的指定位置,插入位置的元素自動后移,返回""。

2,數(shù)組元素的刪除

arrayObj.pop(); //移除最后一個元素并返回該元素值(pop和push連在一起記憶,隊列形式的操作)

arrayObj.shift(); //移除最前一個元素并返回該元素值,數(shù)組中元素自動前移(shift,unshift針對的都是數(shù)組最前面的元素,棧形式的數(shù)據(jù)操作)

arrayObj.splice(deletePos,deleteCount); //刪除從指定位置deletePos開始的指定數(shù)量deleteCount的元素,數(shù)組形式返回所移除的元素


注意:splice方法既可以用于數(shù)組的刪除也可以用于數(shù)組的插入

splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。該方法會改變原始數(shù)組。

? arrayObject.splice(index,howmany,item1,.....,itemX)

index:必填,數(shù)組刪除或插入的位置。使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。

howmany:必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。

? item1, ..., itemX:可選。向數(shù)組添加的新項目。

返回值:新數(shù)組,要是刪除的話,也會包括被刪除的元素

??? 要是刪除的話,splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數(shù)列表中聲明的一個或多個值來替換那些被刪除的元素。如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組

請注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會直接對數(shù)組進行修改。

3,數(shù)組元素截取

1,slice方法:

arrayObject.slice(start,end)可以從數(shù)組中返回start下標(biāo)開始取值,直到end下標(biāo)結(jié)束(不包括)。

??? start:必需。規(guī)定從何處開始選取。如果是負數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數(shù)第二個元素,以此類推。

? ? end:可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個參數(shù)是負數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。

若end為 返回值,返回一個新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

注意:請注意,該方法并不會修改數(shù)組,而是返回一個子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。

4,數(shù)組元素的合并

Contact是將多個數(shù)組(也可以是字符串,或者是數(shù)組和字符串的混合)連接為一個數(shù)組,返回連接好的新的數(shù)組

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);

如果沒有參數(shù),則表示對數(shù)組進行了一次深拷貝。

參數(shù)也可以是string類型

5,數(shù)組的拷貝

arrayObj.slice(0); //slice(start,end)start設(shè)置為0,省略end則表示從頭截取到為,即對數(shù)據(jù)進行了一份拷貝。返回數(shù)組的拷貝數(shù)組,注意是一個新的數(shù)組,不是指向

arrayObj.concat(); //返回數(shù)組的拷貝數(shù)組,注意是一個新的數(shù)組,不是指向。

6,數(shù)組的排序

arrayObj.reverse(); //反轉(zhuǎn)元素(最前的排到最后、最后的排到最前),返回數(shù)組地址

arrayObj.sort(); //對數(shù)組元素排序,返回數(shù)組地址

7,數(shù)組與字符串互換?

數(shù)組的toString(),valueOf()方法可是使得數(shù)組以字符串的形式輸出,但是是存在差別:

?toString一定將所有內(nèi)容轉(zhuǎn)為字符串

?valueOf取出對象內(nèi)部的值,不進行類型轉(zhuǎn)換

另外,Array還有join()方法,是以指定的分隔符,來構(gòu)建字符串。

字符串轉(zhuǎn)數(shù)組:使用split()方法

valueOf取出對象內(nèi)部的值,不進行類型轉(zhuǎn)換。雖然以字符串的形式輸出內(nèi)容,但是還是數(shù)組格式。split()就是將字符串轉(zhuǎn)為了數(shù)組。

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

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

  • 一、數(shù)組方法匯總 shift:刪除原數(shù)組第一項,并返回刪除元素的值;如果數(shù)組為空則返回undefined var ...
    快抓住那個胖子閱讀 339評論 0 0
  • js數(shù)組常用方法整理 標(biāo)簽:js 數(shù)組 前言:這篇文章主要是一些歸納總結(jié),大部分參考的是MDN的程序,也加了一些自...
    wrma閱讀 767評論 0 10
  • 數(shù)組的創(chuàng)建 字面量方式 直接賦值var a = [1, 2, 3];// [1,2,3] 構(gòu)造器(new Arra...
    勵志擺脫懶癌的少女醬閱讀 308評論 0 0
  • 前言:js數(shù)組自帶了很多屬性方法,這些方法為我們寫程序提供了方便,因此,也是筆試、面試中經(jīng)常會被問到的,本文總結(jié)了...
    小道小姐姐閱讀 420評論 0 1
  • 一位美女朋友,美女用在她身上不是名詞,是形容詞,個子嬌小,臉小下巴尖,大眼睛,皮膚白,走路自帶一種俠氣,聲音稍帶一...
    九九弱水三千閱讀 507評論 0 4

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