Array實例對象的方法小結(jié)

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

1、valueOf方法,toString方法

valueOf方法返回數(shù)組本身。


Paste_Image.png

toString 方法返回數(shù)組的字符串形式。


Paste_Image.png

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

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


Paste_Image.png

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

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


Paste_Image.png

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


Paste_Image.png

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

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

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

Paste_Image.png

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


Paste_Image.png

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


Paste_Image.png

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

5、reverse方法

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


Paste_Image.png

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

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


Paste_Image.png

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

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


Paste_Image.png

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

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


Paste_Image.png

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


Paste_Image.png

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

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


Paste_Image.png

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


Paste_Image.png

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

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

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


Paste_Image.png
最后編輯于
?著作權(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)容

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

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