js 常用數組方法的總結

日積跬步,以至千里

數組的方法繁多,很多方法在實際的開發中很常用,在日常敲代碼時,也進行了一些總結


1.Array.map()

此方法是將數組中的每個元素調用一個函數,結果作為一個新的數組返回,不會改變之前的數組

? ? let arr = [1, 2, 3, 4, 5]
? ? let newArr = arr.map(x => x*2)
? ? //arr= [1, 2, 3, 4, 5]? 原數組保持不變
? ? //newArr = [2, 4, 6, 8, 10] 返回新數組
  


2.Array.forEach()

遍歷數組,不會中斷(沒有返回值,注意和map方法區分)

? let arr = [1, 2, 3, 4, 5]
? num.forEach(x => x*2)
? // arr = [1, 2, 3, 4, 5]? 數組改變,注意和map區分


3.Array.filter()

此方法是將所有元素進行判斷,將滿足條件的元素作為一個新的數組返回

? ?

  var a = [1,2,3,4,11]
// 第一個參數為一個方法,有三個參數,current:當前值 index:當前值下標 array:這個數組對象
var b = a.filter(function(current,index,array){
? ? return current < 10
})

console.log(b) // [1,2,3,4]
console.log(a) // [1,2,3,4,11]


4.Array.every()

此方法是將所有元素進行判斷返回一個布爾值,如果所有元素都滿足判斷條件,則返回true,否則為false:

? ? let arr = [1, 2, 3, 4, 5]
? ? const isLessThan4 = value => value < 4
? ? const isLessThan6 => value => value < 6
? ? arr.every(isLessThan4 ) //false
? ? arr.every(isLessThan6 ) //true

 

5.Array.some()

此方法是將所有元素進行判斷返回一個布爾值,如果存在元素都滿足判斷條件,則返回true,若所有元素都不滿足判斷條件,則返回false:

? let arr= [1, 2, 3, 4, 5]
? ? const isLessThan4 = value => value < 4
? ? const isLessThan6 = value => value > 6
? ? arr.some(isLessThan4 ) //true
? ? arr.some(isLessThan6 ) //false

  

6.Array.reduce()

此方法是所有元素調用返回函數,返回值為最后結果,傳入的值必須是函數類型:

? let arr = [1, 2, 3, 4, 5]
? const add = (a, b) => a + b
? let sum = arr.reduce(add)
? //sum = 15? 相當于累加的效果

與之相對應的還有一個 Array.reduceRight() 方法,區別是這個是從右向左操作的

  


7.Array.push()

此方法是在數組的后面添加新加元素,此方法改變了數組的長度:

? let arr = [1, 2, 3, 4, 5]
? ? arr.push(6)
? ? console.log(arr) //[1, 2, 3, 4,5,6]
? ? console.log(arr.length) //6


8.Array.pop()

此方法在數組后面刪除最后一個元素,并返回數組,此方法改變了數組的長度:

? ? let arr = [1, 2, 3, 4, 5]
? ? arr.pop()
? ? console.log(arr) //[1, 2, 3, 4]
? ? console.log(arr.length) //4

  


9.Array.shift()

此方法在數組后面刪除第一個元素,并返回數組,此方法改變了數組的長度:

? ? let arr = [1, 2, 3, 4, 5]
? ? arr.shift()
? ? console.log(arr) //[2, 3, 4, 5]
? ? console.log(arr.length) //4

  


10.Array.unshift()


此方法是將一個或多個元素添加到數組的開頭,并返回新數組的長度:

? ? let arr = [1, 2, 3, 4, 5]
? ? arr.unshift(6, 7)
? ? console.log(arr) //[6, 7, 1, 2, 3, 4, 5]
? ? console.log(arr.length) //7

  

11.Array.isArray()


判斷一個對象是不是數組,返回的是布爾值

12.Array.concat()

此方法是一個可以將多個數組拼接成一個數組:

let arr1 = [1, 2, 3]
? ? ? arr2 = [4, 5]
? let arr = arr1.concat(arr2)
? console.log(arr)//[1, 2, 3, 4, 5]

  


13.Array.toString()


此方法將數組轉化為字符串:

? let arr = [1, 2, 3, 4, 5];
? let str = arr.toString()
? console.log(str)// 1,2,3,4,5

  

14.Array.join()

此方法也是將數組轉化為字符串:

  

? let arr = [1, 2, 3, 4, 5];
? let str1 = arr.toString()
? let str2 = arr.toString(',')
? let str3 = arr.toString('##')
? console.log(str1)// 12345
? console.log(str2)// 1,2,3,4,5
? console.log(str3)// 1##2##3##4##5

通過例子可以看出和toString的區別,可以設置元素之間的間隔

15.Array.splice(開始位置, 刪除的個數,元素)

這是數組方法里非常強大的一個方法,萬能可以同時實現增刪改的功能(這種方法可以改變原數組):

     

? ? ? let arr = [1, 2, 3, 4, 5];
? ? let arr1 = arr.splice(2, 0 'haha')
? ? let arr2 = arr.splice(2, 3)
? ? let arr3 = arr.splice(2, 1 'haha')
? ? console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一個元素
? ? console.log(arr2) //[1, 2] 刪除三個元素
? ? console.log(arr3) //[1, 2,'haha',4,5]

16.Array.includes()

includes()方法,返回一個布爾值。 參數是一個value,一般用于簡單數組。

對于復雜數組,則可以使用some()方法替代includes()方法

var a = [1,2,3]
console.log(a.includes(1)) //true
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容