分享15個JavaScript的重要數組方法
前言;
我們會在構建的每個應用程序中使用數組。它有幾種方法,其中一些非常令人困惑。我列出瞭 15 種,我們應該掌握的數組方法,因為它們經常派上用場。
數組方法的重要一點是有些是可變的,有些是不可變的。在決定針對特定問題使用哪種方法時,務必牢記這一點。
此列表中的大多數數組方法都采用類似的回調作為參數。第一個參數是當前項,第二個參數是索引,第三個是整個數組。現在我們已經解決瞭這個問題,讓我們從列表開始:
1、ForEach
循環遍歷數組中的每個元素並執行回調函數。
const arr = [1, 2, 3]; arr.forEach(num => console.log(num)); // Console: 1, 2, 3
2、Map
循環遍歷數組中的每個元素並執行回調函數。使用回調函數的返回值創建一個新數組。
const arr = [1, 2, 3, 4, 5]; const areEven = arr.map(num => num % 2 === 0); console.log(areEven); // Console: [false, true, false, true, false]
3、Filter
循環遍歷數組中的每個元素,並僅選擇符合條件的元素。根據所選元素返回一個新數組。
const arr = [1, 2, 3, 4, 5]; const evenNumbers = arr.filter(num => num % 2 === 0); console.log(evenNumbers); // Console [2, 4]
4、Find
查找數組中滿足條件的第一個元素。如果沒有找到,將返回 undefined。
const arr = [1, 2, 3, 4, 5]; const firstEvenNumber = arr.find(num => num % 2 === 0); console.log(firstEvenNumber); // Console [2]
5、FindIndex
與前面的方法類似,它返回滿足給定條件的第一個元素的索引。如果沒有找到,則返回 -1。
const arr = [1, 2, 3, 4, 5]; const firstEvenNumberIdx = arr.findIndex(num => num % 2 === 0); console.log(firstEvenNumberIdx);
6、Reduce
這是一種高級方法,可用於組合數組的元素。主要區別在於回調將累加器作為第一個參數。回調的返回值成為下一次迭代的累加器。
const arr = [1, 2, 3, 4, 5]; // `acc` is the value of the accumulator // the acccumulator is return value of the previous callback // the second argument i.e `0` is the default value const sum = arr.reduce((acc, num) => acc + num, 0); console.log(sum); // Console: 15
7、Every
此方法接受一個返回佈爾值的回調。如果條件對數組中的所有元素都有效,那麼 Every() 將返回 true。
const arr = [1, 2, 3, 4, 5]; const areAllEven = arr.every(num => num % 2 === 0); console.log(areAllEven); // Console: false
8、Some
像前面的方法一樣,這個方法也接受一個返回佈爾值的回調。如果條件對至少一個元素有效,Some() 將返回 true。
const arr = [1, 2, 3, 4, 5]; const isOneEven = arr.some(num % 2 === 0); console.log(isOneEven); // true
9、 Sort
這是一種用於對數組中的元素進行排序的方法。
默認情況下,它按升序對數組進行排序。它需要一個回調函數,有兩個元素——a 和 b。如果 a 小於 b,則返回 -1,否則返回 1。
如果它們相等,則返回 0。
const arr = [1, 2, 3, 4, 5]; const descendingArr = arr.sort((a, b) => b - a); console.log(descendingArr);
請記住,與其他數組方法不同,sort 會改變數組。
10、Flat
Flat 用於將嵌套數組展平為單個數組。您可以指定將數組展平的深度。
const arr = [[[1, 2], [3]], [4, 5]]; const flattenedArr = arr.flat(4); console.log(flattenedArr); // Console [1, 2, 3, 4, 5]
11、 Reverse
反轉數組中元素的順序。
const arr = [1, 2, 3, 4, 5]; const reversedArr = arr.reverse(); console.log(reversedArr); // Console [5, 4, 3, 2, 1]
12、Include
如果數組中存在元素,則此方法返回 true。
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(5)); // true console.log(arr.includes(10)); // false
13、Fill
fill 方法將數組的元素設置為給定值。當我想使用 map/forEach 方法特定次數時,我喜歡使用此方法。
const emptyArr = new Array(5); // The problem with this is that you get `[empty x 10]` // You need real values to map over it. const filledArr = emptyArr.fill(3); // Console [3, 3, 3, 3, 3]
14、At
此方法返回給定索引的元素。這與訪問(即 arr[1])元素的傳統方式之間的區別在於它也支持負索引。
const arr = [1, 2, 3, 4, 5]; console.log(arr.at(1)); // 2 console.log(arr.at(-1)); // 5 // Important: Negative indices start from `1`, positive indices start from `0`.
15、 Concat
此方法用於組合兩個數組。
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [6, 7, 8, 9, 10]; console.log(arr1.concat(arr2)); // Console [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
到此這篇關於分享15個JavaScript的重要數組方法的文章就介紹到這瞭,更多相關JS數組方法內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!
推薦閱讀:
- javascript數組裡的27個方法總合詳解
- 27個JavaScript數組常見方法匯總與實例說明
- 梳理總結25JavaScript數組操作方法實例
- Javascript數組常用方法你都知道嗎
- JS數組中常用方法技巧學會進階成為大佬