js中數組的方法總結

今天總結了一下之前所學到的js中數組的方法,分別從參數,返回值,是否改變原數組等方面介紹了數組方法,方法如下:


1.toString()方法: 把數組轉換為數組值(逗號分隔)的字符串。

參數:無;

是否改變原數組:無;

返回值:原數組數組值組成的字符串;

實例
結果

2.push() 方法:(在數組結尾處)向數組添加一個新的元素。


參數:需要添加的數組值

原數組是否改變:改變

返回值:返回新數組長度


實例
結果

3.unshift() 方法:(在開頭)向數組添加新元素。


參數:需要添加的數組值

原數組是否改變:改變

返回值:返回新數組長度


實例
結果

4.pop() 方法:從數組中刪除最后一個元素。

參數:無

原數組是否改變:改變

返回值:被刪除的數組值(最后一個)


實例
結果

5.shift() 方法:會刪除首個數組元素。


參數:無

原數組是否改變:改變

返回值:被刪除的數組值(第一個)


實例
結果

6.splice() 方法:可用于向數組添加新項或刪除元素。

參數:

1.第一個參數定義了應添加新元素的位置(拼接)。

2.第二個參數定義應刪除多少元素。

3.其余參數定義要添加的新元素。

原數組是否改變:改變為添加數組值后的新數組

返回值:被刪除的數組組成的新數組


實例
結果

7.reverse() 方法用于反轉顛倒數組中元素的順序。

參數:無

原數組是否改變:改變為顛倒后的新數組

返回值:跟原數組一樣改變為顛倒后的新數組


實例
結果


8.(1)join()方法: Array.join()方法是String.split()方法的逆向操作,后者是將字符串分割成若干塊來創建一個數組,在默認情況下都會以逗號分隔的字符形式返回數組項。

參數:join()方法只接收一個參數,用作分隔符的字符串,然后返回包含所有數組項的字符串

原數組是否改變:沒有改變

返回值:以字符的形式返回數組項

實例
結果


(2)而join()方法有參數時可以使用不同的分隔符來構建這個字符串:



實例
結果


9.slice() 方法:可從已有的數組中返回選定的元素。

語法:var newArr=arr.slice(start,end);

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

end 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那么切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那么它規定的是從數組尾部開始算起的元素。

原數組是否改變:沒有改變

返回值:返回一個新的數組,包含從 start 到 end (不包括該元素)的arr中的元素。

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

注意,如果參數為一個時,返回值為start之后的所有元素值組成的新數組


實例
結果


10.sort() 方法用于對數組的元素進行排序。(如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。)

語法:arr.sort(sortby);

參數:必須是函數,規定排序順序

原數組是否改變:改變為排序后的新數組

返回值:跟原數組一樣改變為排序后的新數組

實例
結果

注意:如果想要實現數值大小排序應改變回調函數sortby的值:

實例


結果


11.concat() 方法:用于連接兩個或多個數組。

語法:arr.concat(arrayX,arrayX,......,arrayX)

參數:要新增的數組

原數組是否改變:不改變

返回值:返回一個新的數組。該數組是通過把所有 arrayX 參數添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數是數組,那么添加的是數組中的元素,而不是數組。


實例
結果

ES5新增數組方法:

12.ES5為數組實例添加了兩個位置方法:indexOf()、lastIndexOf()

(1)indexOf(): 跟字符串查找一樣,查找指定元素是否存在,如果存在,返回下標,如果不存在返回-1

實例

(2)lastIndexOf():跟indexOf()一樣,只是查找起始點不同,indexOf是從第一個開始查找,lastIndexOf()是從最后一個查找,如果存在,返回下標,如果不存在返回-1

實例


13.forEach()方法:迭代(遍歷)數組。



有兩個參數第一個參數是回調函數,第二個參數是控制當前this指向誰

第一個參數(回調函數):function(value, index, arr){};

回調函數內的三個參數分別為:當前循環的值,當前循環的索引,當前數組本身

第二個參數:this

返回值:undefined

是否改變原數組:沒有

回調函數的返回值造成了什么影響:沒有影響

實例
結果


14.map() 方法:遍歷數組。

map()方法返回一個被操作后的新數組,不會改變原數組

map()一般配合return使用,如果沒有return那跟forEach一樣;

參數:回調函數

? ? 返回值:數組,數組內是,每個回調函數的返回值

? ? 是否改變原數組:沒有

? ? 回調函數的返回值造成了什么影響:被放在了map最終返回的數組內

實例
結果


15.filter() 方法:過濾,過濾不符合條件的元素,如果回調函數返回true則保留,返回false則過濾掉。

參數:回調函數

返回值:返回符合條件的值

是否改變原數組:沒有

回調函數的返回值造成了什么影響:被放在了filter最終返回的數組內

實例
結果


16.some()方法:判斷數組內是否有指定元素,如果只要有一個則返回true,如果一個都沒有則返回false,停止遍歷。

參數:回調函數

返回值:存在符合條件返回true,否則返回false;

是否改變原數組:沒有

實例
結果


17.every()方法:判斷數組內是否都有指定元素,如果全部都有則返回true,如果有一個沒有指定元素則返回false,some()和every()相對。

參數:回調函數

返回值:都符合條件返回true,否則返回false;

是否改變原數組:沒有

實例
結果


18.reduce()方法:并歸。

?reduce()回調函數有四個參數,

?第一個參數為:之前計算過的值,

第二參數為:之前計算過的值的下一個值

第三個參數:當前索引

第四個參數為:當前數組對象

類似遞歸,可以求和之類的操作

reduce()和reduceRight()類似,只是執行方向不同,

reduce()從數組的開頭往后遞歸

?reduceRight()從數組的末尾往前遞歸

實例
結果

? ?19.reduceRight()方法:反向并歸。


reduceRight()和reduce()類似,只是執行方向不同,

reduceRight()從數組的末尾往前遞歸

reduce()從數組的開頭往后遞歸。

實例同上。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 首先我們定義一個數組,里面的內容是1,2,3,4。以這個數組為例 push() 作用: 在數組的末尾添加一個或多個...
    我沒叫阿閱讀 194評論 0 1
  • 轉載:在開發中,數組的使用場景非常多,平日中也涉及到很多數組的api/相關操作,一直也沒有對這塊內容進行一塊整理總...
    七色煙火閱讀 3,255評論 0 3
  • js中數組的方法非常的多,功能也很強大。今天來總結一下js中數組的方法: 首先創建一個數組,數組中可以包含各種類型...
    林llgb閱讀 486評論 1 3
  • 函數和對象 1、函數 1.1 函數概述 函數對于任何一門語言來說都是核心的概念。通過函數可以封裝任意多條語句,而且...
    道無虛閱讀 4,664評論 0 5
  • 類似文章推薦:JavaScript String 對象方法總結JavaScript Object 對象方法總結Ja...
    小賢筆記閱讀 1,147評論 0 1