Array實(shí)例對(duì)象的方法小結(jié)

在W3C標(biāo)準(zhǔn)中有很多Array實(shí)例對(duì)象的方法,它比上一篇講到的《與數(shù)組相關(guān)的全局方法》更多,而且在工作中也更實(shí)用。同樣的,我在這里把一些常用的方法小結(jié)一下,多加練習(xí)。
常見的Array實(shí)例對(duì)象的方法有valueOf(), toString(), push(), pop(), join(), concat(), shift(), unshift(), reverse(), slice(), splice(), sort() 等等,下面就一一來介紹一下吧。

1、valueOf方法,toString方法

valueOf方法返回?cái)?shù)組本身。


Paste_Image.png

toString 方法返回?cái)?shù)組的字符串形式。


Paste_Image.png

2、push方法,pop方法
push方法用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加后的數(shù)組的長(zhǎng)度。
Paste_Image.png

如果需要合并兩個(gè)數(shù)組,可以這樣寫。


Paste_Image.png

難點(diǎn):push方法還可以用于向?qū)ο筇砑釉兀砑雍蟮膶?duì)象變成“類似數(shù)組的”對(duì)象,即新加入元素的鍵對(duì)應(yīng)數(shù)組的索引,并且對(duì)象有一個(gè)length屬性。
Paste_Image.png

pop方法用于刪除數(shù)組的最后一個(gè)元素,并返回該元素。


Paste_Image.png

3、join方法,concat方法
join方法以參數(shù)作為分隔符,將所有數(shù)組成員組成一個(gè)字符串返回。如果不提供參數(shù),默認(rèn)用逗號(hào)分隔。


Paste_Image.png

通過函數(shù)的call方法,join方法(即Array.prototype.join)也可以用于字符串。
Paste_Image.png

concat方法用于多個(gè)數(shù)組的合并。它將新數(shù)組的成員,添加到原數(shù)組的尾部,然后返回一個(gè)新數(shù)組。
Paste_Image.png

這里需要注意的是通過concat()返回一個(gè)新數(shù)組后不會(huì)改變?cè)瓟?shù)組的值,而通過push()方法連接則會(huì)改變?cè)瓟?shù)組的值,例如:

Paste_Image.png

concat方法也可以用于將對(duì)象合并為數(shù)組,但是必須借助call方法。


Paste_Image.png

4、shift方法,unshift方法
shift方法用于刪除數(shù)組的第一個(gè)元素,并返回該元素。


Paste_Image.png

unshift方法用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長(zhǎng)度。
Paste_Image.png

5、reverse方法

reverse方法用于顛倒數(shù)組中元素的順序,使用這個(gè)方法以后,返回改變后的原數(shù)組。


Paste_Image.png

6、slice方法
slice方法用于提取原數(shù)組的一部分,返回一個(gè)新數(shù)組,原數(shù)組不變。

它的第一個(gè)參數(shù)為起始位置(從0開始),第二個(gè)參數(shù)為終止位置(但該位置的元素本身不包括在內(nèi))。如果省略第二個(gè)參數(shù),則一直返回到原數(shù)組的最后一個(gè)成員。


Paste_Image.png

上面代碼表示,如果slice方法的參數(shù)是負(fù)數(shù),則從尾部開始選擇的成員個(gè)數(shù);如果參數(shù)值大于數(shù)組成員的個(gè)數(shù),或者第二個(gè)參數(shù)小于第一個(gè)參數(shù),則返回空數(shù)組。

slice方法的一個(gè)重要應(yīng)用,是將類似數(shù)組的對(duì)象轉(zhuǎn)為真正的數(shù)組。


Paste_Image.png

7、splice方法
splice方法用于刪除原數(shù)組的一部分成員,并可以在被刪除的位置添加入新的數(shù)組成員。它的返回值是被刪除的元素。該方法會(huì)改變?cè)瓟?shù)組。

splice的第一個(gè)參數(shù)是刪除的起始位置,第二個(gè)參數(shù)是被刪除的元素個(gè)數(shù)。如果后面還有更多的參數(shù),則表示這些就是要被插入數(shù)組的新元素。


Paste_Image.png

上面代碼從原數(shù)組位置4開始,刪除了兩個(gè)數(shù)組成員。


Paste_Image.png

上面代碼除了刪除成員,還插入了兩個(gè)新成員。

如果只是單純地插入元素,splice方法的第二個(gè)參數(shù)可以設(shè)為0。


Paste_Image.png

如果只提供第一個(gè)參數(shù),則實(shí)際上等同于將原數(shù)組在指定位置拆分成兩個(gè)數(shù)組。


Paste_Image.png

8、sort方法
sort方法對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變。
Paste_Image.png

上面代碼的最后兩個(gè)例子,需要特殊注意。sort方法不是按照大小排序,而是按照對(duì)應(yīng)字符串的字典順序排序,所以101排在11的前面。

如果想讓sort方法按照自定義方式排序,可以傳入一個(gè)函數(shù)作為參數(shù),表示按照自定義方法進(jìn)行排序。該函數(shù)本身又接受兩個(gè)參數(shù),表示進(jìn)行比較的兩個(gè)元素。如果返回值大于0,表示第一個(gè)元素排在第二個(gè)元素后面;其他情況下,都是第一個(gè)元素排在第二個(gè)元素前面。


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

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

  • 構(gòu)造函數(shù) Array是JavaScript的內(nèi)置對(duì)象,同時(shí)也是一個(gè)構(gòu)造函數(shù),可以用它生成新的數(shù)組。Array構(gòu)造函...
    zjh111閱讀 839評(píng)論 0 0
  • (一) 數(shù)組的定義 數(shù)組(array)是按次序排列的一組值。每個(gè)值的位置都有編號(hào)(從0開始),整個(gè)數(shù)組用方括號(hào)表示...
    woow_wu7閱讀 47,111評(píng)論 0 6
  • 一、不好用的構(gòu)造函數(shù) Array是JS的內(nèi)置對(duì)象,同時(shí)也是一個(gè)構(gòu)造函數(shù),可以用它生成新的數(shù)組。但是由于Array作...
    周花花啊閱讀 397評(píng)論 1 1
  • 第三章 類型、值和變量 1、存取字符串、數(shù)字或布爾值的屬性時(shí)創(chuàng)建的臨時(shí)對(duì)象稱做包裝對(duì)象,它只是偶爾用來區(qū)分字符串值...
    坤少卡卡閱讀 728評(píng)論 0 1
  • 關(guān)于范疇 實(shí)現(xiàn)某個(gè)類的一部分方法的模塊叫做范疇或者類別。一個(gè)類既可以不適用任何范疇,也可以由多個(gè)范疇構(gòu)成。范疇和類...
    RyanXzw閱讀 853評(píng)論 0 0

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