這篇文章主要介紹“常用的javascript數(shù)組操作方法有哪些”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“常用的javascript數(shù)組操作方法有哪些”文章能幫助大家解決問題。
成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)稿等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
javascript數(shù)組方法有很多,有數(shù)組原型方法,有從object對(duì)象繼承來的方法,還可以分為使用后改變和不改變?cè)瓟?shù)組的方法,每一個(gè)分類中包含著很多種不同的javascript數(shù)組方法,下面簡單列舉10個(gè)常用的javascript數(shù)組方法,相應(yīng)的給出一個(gè)例子。
1、push()
功能:向數(shù)組的末尾添加一個(gè)或更多元素,并返回?cái)?shù)組新的長度。
參數(shù):push(newData1, newData2, ......)
代碼如下:
var arr = [1,2,3]; console.log(arr.push("a")); //4---返回?cái)?shù)組現(xiàn)在的長度 console.log(arr); //[1,2,3,"a"]---原數(shù)組改變 console.log(arr.push("hello","world")); //6---一次可添加多個(gè)數(shù)組,返回新的數(shù)組長度 console.log(arr); //[1,2,3,"a","hello",world]---原數(shù)組改變
2、shift()
功能:方法用于刪除并返回?cái)?shù)組的第一個(gè)元素。
參數(shù):無
代碼如下:
var arr = [1,2,3] console.log(arr.shift()); //1---返回被刪除的元素 console.log(arr); //[2,3]---原數(shù)組改變 console.log(arr.shift()); //2---返回被刪除的元素 console.log(arr); //[3]---原數(shù)組改變
3、sort()
sort():按升序排列數(shù)組項(xiàng)——即最小的值位于最前面,最大的值排在最后面。在排序時(shí),sort()方法會(huì)調(diào)用每個(gè)數(shù)組項(xiàng)的 toString()轉(zhuǎn)型方法,然后比較得到的字符串,以確定如何排序。即使數(shù)組中的每一項(xiàng)都是數(shù)值, sort()方法比較的也是字符串,因此會(huì)出現(xiàn)以下的這種情況:
為了解決上述問題,sort()方法可以接收一個(gè)比較函數(shù)作為參數(shù),以便我們指定哪個(gè)值位于哪個(gè)值的前面。比較函數(shù)接收兩個(gè)參數(shù),如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)之前則返回一個(gè)負(fù)數(shù),如果兩個(gè)參數(shù)相等則返回 0,如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)之后則返回一個(gè)正數(shù)。以下就是一個(gè)簡單的比較函數(shù):
如果需要通過比較函數(shù)產(chǎn)生降序排序的結(jié)果,只要交換比較函數(shù)返回的值即可:
4、splice()
splice():很強(qiáng)大的數(shù)組方法,它有很多種用法,可以實(shí)現(xiàn)刪除、插入和替換。刪除:可以刪除任意數(shù)量的項(xiàng),只需指定 2 個(gè)參數(shù):要?jiǎng)h除的第一項(xiàng)的位置和要?jiǎng)h除的項(xiàng)數(shù)。例如splice(0,2)會(huì)刪除數(shù)組中的前兩項(xiàng)。插入:可以向指定位置插入任意數(shù)量的項(xiàng),只需提供 3 個(gè)參數(shù):起始位置、 0(要?jiǎng)h除的項(xiàng)數(shù))和要插入的項(xiàng)。例如,splice(2,0,4,6)會(huì)從當(dāng)前數(shù)組的位置 2 開始插入4和6。
替換:可以向指定位置插入任意數(shù)量的項(xiàng),且同時(shí)刪除任意數(shù)量的項(xiàng),只需指定 3 個(gè)參數(shù):起始位置、要?jiǎng)h除的項(xiàng)數(shù)和要插入的任意數(shù)量的項(xiàng)。插入的項(xiàng)數(shù)不必與刪除的項(xiàng)數(shù)相等。例如,splice (2,1,4,6)會(huì)刪除當(dāng)前數(shù)組位置 2 的項(xiàng),然后再從位置 2 開始插入4和6。splice()方法始終都會(huì)返回一個(gè)數(shù)組,該數(shù)組中包含從原始數(shù)組中刪除的項(xiàng),如果沒有刪除任何項(xiàng),則返回一個(gè)空數(shù)組。
5、indexOf()和 lastIndexOf()
indexOf():接收兩個(gè)參數(shù):要查找的項(xiàng)和(可選的)表示查找起點(diǎn)位置的索引。其中, 從數(shù)組的開頭(位置 0)開始向后查找。
lastIndexOf:接收兩個(gè)參數(shù):要查找的項(xiàng)和(可選的)表示查找起點(diǎn)位置的索引。其中, 從數(shù)組的末尾開始向前查找。
這兩個(gè)方法都返回要查找的項(xiàng)在數(shù)組中的位置,或者在沒找到的情況下返回1。在比較第一個(gè)參數(shù)與數(shù)組中的每一項(xiàng)時(shí),會(huì)使用全等操作符。
6、filter()
功能:1.同forEach功能;2.filter的回調(diào)函數(shù)需要返回布爾值,當(dāng)為true時(shí),將本次數(shù)組的數(shù)據(jù)返回給filter,最后filter將所有回調(diào)函數(shù)的返回值組成新數(shù)組返回(此功能可理解為“過濾”)。
參數(shù):filter()接收一個(gè)回調(diào)函數(shù)作為參數(shù),這個(gè)回調(diào)函數(shù)需要有返回值;filter(callback);callback默認(rèn)有三個(gè)參數(shù),分別為value,index,self:
value:遍歷到的數(shù)組元素;index:元素對(duì)應(yīng)的索引;self:數(shù)組自身。
(1)功能1:同forEach
(2)功能2:當(dāng)回調(diào)函數(shù)的返回值為true時(shí),本次的數(shù)組值返回給filter,被filter組成新數(shù)組返回
7、ES6新增:from()
功能:將類數(shù)組對(duì)象和可遍歷對(duì)象轉(zhuǎn)化為數(shù)組
參數(shù):from(object, mapFunction, thisValue)
object:必需,要轉(zhuǎn)換為數(shù)組的對(duì)象
mapFunction:可選,數(shù)組中每個(gè)元素要調(diào)用的函數(shù)
thisValue:可選,映射函數(shù)(mapFunction)中的 this 對(duì)象
8、forEach()
forEach():對(duì)數(shù)組進(jìn)行遍歷循環(huán),對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù)。這個(gè)方法沒有返回值。參數(shù)都是function類型,默認(rèn)有傳參,參數(shù)分別為:遍歷的數(shù)組內(nèi)容;第對(duì)應(yīng)的數(shù)組索引,數(shù)組本身。
9、map()
map():指“映射”,對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。下面代碼利用map方法實(shí)現(xiàn)數(shù)組中每個(gè)數(shù)求平方:
10、10.filter()
功能:1.同forEach功能;2.filter的回調(diào)函數(shù)需要返回布爾值,當(dāng)為true時(shí),將本次數(shù)組的數(shù)據(jù)返回給filter,最后filter將所有回調(diào)函數(shù)的返回值組成新數(shù)組返回(此功能可理解為“過濾”)。參數(shù):filter()接收一個(gè)回調(diào)函數(shù)作為參數(shù),這個(gè)回調(diào)函數(shù)需要有返回值;filter(callback);callback默認(rèn)有三個(gè)參數(shù),分別為value,index,self。value:遍歷到的數(shù)組元素;index:元素對(duì)應(yīng)的索引;self:數(shù)組自身
(1)功能1:同forEach
(2)功能2:當(dāng)回調(diào)函數(shù)的返回值為true時(shí),本次的數(shù)組值返回給filter,被filter組成新數(shù)組返回
關(guān)于“常用的javascript數(shù)組操作方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。