JS 處理數組多種方法
js 中的數據類型分為兩大類:原始類型和對象類型。
原始類型包括:數值、字符串、布爾值、null、undefined
對象類型包括:對象即是屬性的集合,當然這裡又兩個特殊的對象----函數(js中的一等對象)、數組(鍵值的有序集合)。
數組元素的添加
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);
將一個或多個新元素添加到數組結尾,並返回數組新長度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);
將一個或多個新元素添加到數組開始,數組中的元素自動後移,返回數組新長度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);
將一個或多個新元素插入到數組的指定位置,插入位置的元素自動後移,返回""
數組元素的刪除
arrayObj.pop();
移除最後一個元素並返回該元素值
arrayObj.shift();
移除最前一個元素並返回該元素值,數組中元素自動前移
arrayObj.splice(deletePos,deleteCount);
刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素
截取與合並
arrayObj.slice(start, [end]);
以數組的形式返回數組的一部分,注意不包括 end 對應的元素,如果省略 end 將復制 start 之後的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
將多個數組(也可以是字符串,或者是數組和字符串的混合)連接為一個數組,返回連接好的新的數組
數組的拷貝
arrayObj.slice(0);
返回數組的拷貝數組,注意是一個新的數組,不是指向
arrayObj.concat();
返回數組的拷貝數組,注意是一個新的數組,不是指向
數組元素的排序
arrayObj.reverse();
反轉元素(最前的排到最後、最後的排到最前),返回數組地址
arrayObj.sort();
對數組元素排序,返回數組地址
數組元素的插入
arrayObj.splice(insertPos,0, [item1[, item2[, . . . [,itemN]]]]);
從 insertPos 位置插入指定的item元素,0代表刪除0個元素,返回空數組
數組元素的替換
arrayObj.splice(insertPos,replaceCount, [item1[, item2[, . . . [,itemN]]]]);
從 insertPos 位置刪除 replaceCount 個元素,再從 insertPos 位置添加指定的item元素,數組形式返回被刪除的元素
數組元素的位置
arrayObj.indexOf(findThing,start);
從要查找的起點(可選) start 開始向後找要查找的項 findThing ,找的准則是全等,找到則返回該值的位置,找不到則返回-1
arrayObj.lastIndexOf(findThing,number)
從要查找的起點(可選) start 開始向前找要查找的項 findThing ,找的准則是全等,找到則返回該值的位置,找不到則返回-1
數組元素的迭代
arrayObj.every()
對數組中的每一項運行給定的函數,如果該函數對每一項都返回 true ,則返回 true
arrayObj.filter()
對數組中的每一項運行給定的函數,返回該函數會返回 true 的項組成的數組
arrayObj.forEach()
對數組中的每一項運行給定的函數,這個方法沒有返回值
arrayObj.map()
對數組中的每一項運行給定的函數,返回每次函數調用的結果組成的數組
arrayObj.some()
對數組中的每一項運行給定的函數,如果該函數對任一項返回 true ,則返回 true
數組元素的歸並
arrayObj.reduce(prev, cur, index, array)
從數組的第一項開始,逐個便利到最後,四個參數分別為前一個值,當前值,項的索引和數組對象,函數返回的任何值會作為第一個參數自動傳給下一項
000
arrayObj.reduceRight()
從數組的最後開始,逐個便利到第一項,四個參數分別為前一個值,當前值,項的索引和數組對象,函數返回的任何值會作為第一個參數自動傳給下一項
數組元素的字符串化
arrayObj.join(separator);
返回字符串,這個字符串將數組的每一個元素值連接在一起,中間用 separator 隔開。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
toSource() 返回該對象的源代碼
toString() 把數組轉換為字符串,並返回結果
toLocaleString() 把數組轉換為本地數組,並返回結果
valueOf() 返回數組對象的原始值
ES5 新增
Array.prototype.indexOf
indexOf()方法返回在該數組中第一個找到的元素位置,如果它不存在則返回-1。
Array.prototype.lastIndexOf
Array.prototype.every
Array.prototype.some
Array.prototype.forEach
forEach為每個元素執行對應的方法
Array.prototype.map
map()對數組的每個元素進行一定操作(映射)後,會返回一個新的數組
map()是處理服務器返回數據時是一個非常實用的函數
Array.prototype.filter
該filter()方法創建一個新的匹配過濾條件的數組。
Array.prototype.reduce
reduce()可以實現一個累加器的功能,將數組的每個值(從左到右)將其降低到一個值
場景: 統計一個數組中有多少個不重復的單詞
Array.prototype.reduceRight
以上這篇JavaScript 中有關數組對象的方法(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。