您好,登錄后才能下訂單哦!
這篇文章主要介紹“常用的javascript數組操作方法有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“常用的javascript數組操作方法有哪些”文章能幫助大家解決問題。
javascript數組方法有很多,有數組原型方法,有從object對象繼承來的方法,還可以分為使用后改變和不改變原數組的方法,每一個分類中包含著很多種不同的javascript數組方法,下面簡單列舉10個常用的javascript數組方法,相應的給出一個例子。
1、push()
功能:向數組的末尾添加一個或更多元素,并返回數組新的長度。
參數:push(newData1, newData2, ......)
代碼如下:
var arr = [1,2,3]; console.log(arr.push("a")); //4---返回數組現在的長度 console.log(arr); //[1,2,3,"a"]---原數組改變 console.log(arr.push("hello","world")); //6---一次可添加多個數組,返回新的數組長度 console.log(arr); //[1,2,3,"a","hello",world]---原數組改變
2、shift()
功能:方法用于刪除并返回數組的第一個元素。
參數:無
代碼如下:
var arr = [1,2,3] console.log(arr.shift()); //1---返回被刪除的元素 console.log(arr); //[2,3]---原數組改變 console.log(arr.shift()); //2---返回被刪除的元素 console.log(arr); //[3]---原數組改變
3、sort()
sort():按升序排列數組項——即最小的值位于最前面,最大的值排在最后面。在排序時,sort()方法會調用每個數組項的 toString()轉型方法,然后比較得到的字符串,以確定如何排序。即使數組中的每一項都是數值, sort()方法比較的也是字符串,因此會出現以下的這種情況:
為了解決上述問題,sort()方法可以接收一個比較函數作為參數,以便我們指定哪個值位于哪個值的前面。比較函數接收兩個參數,如果第一個參數應該位于第二個之前則返回一個負數,如果兩個參數相等則返回 0,如果第一個參數應該位于第二個之后則返回一個正數。以下就是一個簡單的比較函數:
如果需要通過比較函數產生降序排序的結果,只要交換比較函數返回的值即可:
4、splice()
splice():很強大的數組方法,它有很多種用法,可以實現刪除、插入和替換。刪除:可以刪除任意數量的項,只需指定 2 個參數:要刪除的第一項的位置和要刪除的項數。例如splice(0,2)會刪除數組中的前兩項。插入:可以向指定位置插入任意數量的項,只需提供 3 個參數:起始位置、 0(要刪除的項數)和要插入的項。例如,splice(2,0,4,6)會從當前數組的位置 2 開始插入4和6。
替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定 3 個參數:起始位置、要刪除的項數和要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如,splice (2,1,4,6)會刪除當前數組位置 2 的項,然后再從位置 2 開始插入4和6。splice()方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項,如果沒有刪除任何項,則返回一個空數組。
5、indexOf()和 lastIndexOf()
indexOf():接收兩個參數:要查找的項和(可選的)表示查找起點位置的索引。其中, 從數組的開頭(位置 0)開始向后查找。
lastIndexOf:接收兩個參數:要查找的項和(可選的)表示查找起點位置的索引。其中, 從數組的末尾開始向前查找。
這兩個方法都返回要查找的項在數組中的位置,或者在沒找到的情況下返回1。在比較第一個參數與數組中的每一項時,會使用全等操作符。
6、filter()
功能:1.同forEach功能;2.filter的回調函數需要返回布爾值,當為true時,將本次數組的數據返回給filter,最后filter將所有回調函數的返回值組成新數組返回(此功能可理解為“過濾”)。
參數:filter()接收一個回調函數作為參數,這個回調函數需要有返回值;filter(callback);callback默認有三個參數,分別為value,index,self:
value:遍歷到的數組元素;index:元素對應的索引;self:數組自身。
(1)功能1:同forEach
(2)功能2:當回調函數的返回值為true時,本次的數組值返回給filter,被filter組成新數組返回
7、ES6新增:from()
功能:將類數組對象和可遍歷對象轉化為數組
參數:from(object, mapFunction, thisValue)
object:必需,要轉換為數組的對象
mapFunction:可選,數組中每個元素要調用的函數
thisValue:可選,映射函數(mapFunction)中的 this 對象
8、forEach()
forEach():對數組進行遍歷循環,對數組中的每一項運行給定函數。這個方法沒有返回值。參數都是function類型,默認有傳參,參數分別為:遍歷的數組內容;第對應的數組索引,數組本身。
9、map()
map():指“映射”,對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組。下面代碼利用map方法實現數組中每個數求平方:
10、10.filter()
功能:1.同forEach功能;2.filter的回調函數需要返回布爾值,當為true時,將本次數組的數據返回給filter,最后filter將所有回調函數的返回值組成新數組返回(此功能可理解為“過濾”)。參數:filter()接收一個回調函數作為參數,這個回調函數需要有返回值;filter(callback);callback默認有三個參數,分別為value,index,self。value:遍歷到的數組元素;index:元素對應的索引;self:數組自身
(1)功能1:同forEach
(2)功能2:當回調函數的返回值為true時,本次的數組值返回給filter,被filter組成新數組返回
關于“常用的javascript數組操作方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。