重要的 JavaScript 數(shù)組方法:映射(),forEach(),減少(),過濾器(),排序(),包括(),查找(),索引的(),一些(),連接()
數(shù)組方法在 JavaScript 中是不可或缺的,并且有許多數(shù)組方法。對于忙碌的初學(xué)者,我選擇了10種最常見的數(shù)組方法,您必須學(xué)習(xí)這些方法以節(jié)省時間。
我為每個數(shù)組方法提供了一個示例用例,以便于理解。
陣列映射()
通過調(diào)用回調(diào)函數(shù),map() 方法循環(huán)訪問原始數(shù)組,并對數(shù)組的每個元素調(diào)用該函數(shù)。由于它是一種非突變方法,因此它會創(chuàng)建一個新數(shù)組,并且不會更改原始數(shù)組。簡而言之,當(dāng)您要轉(zhuǎn)換數(shù)組中的所有值時,會使用它。
示例用例
您有一個客戶列表,您有他們的名字,并且您希望將每個客戶的姓氏設(shè)置為“Smith”。
Array.forEach()
這與 map() 方法非常相似,它也在每個元素上執(zhí)行一次函數(shù),除了它改變了原來的數(shù)組,它不會創(chuàng)建一個新的數(shù)組。
示例用例
您希望打印列表中每個客戶的姓名,并且不需要新陣列。
數(shù)組.reduce()
Reduce 是最強大和最靈活的方法,因為它可用于重新實現(xiàn)所有現(xiàn)有的數(shù)組方法,但它也是最難理解的。
reduce 方法接受兩個參數(shù):回調(diào)和初始值 (),回調(diào)采用 4 個參數(shù)、累加器、當(dāng)前值、當(dāng)前索引和初始值。簡而言之,此方法將數(shù)組簡化為返回一個值。arr.reduce(callback, initialValue
由于討論 reduce() 方法的所有好處需要一篇單獨的文章,因此我在這里只討論兩個代表性的用例。
示例用例
在沒有初始值的情況下計算總和
2. 拼合數(shù)組
數(shù)組過濾器()
顯然,當(dāng)您需要過濾掉值時,會使用 filter() 方法。只需將測試函數(shù)作為回調(diào)傳遞,它將返回一個等于 true 的值以保留元素。
示例用例
您想從客戶列表中刪除特定客戶,例如瑪麗。因此,在回調(diào)中,您保留每個不等于瑪麗的名字。
數(shù)組.排序()
方法名稱本身就說明了這一點,它用于對數(shù)組進(jìn)行排序。
示例用例
您有一個列出每個客戶的年齡的數(shù)組,您希望按升序?qū)ζ溥M(jìn)行排序。
請注意,使用 array.sort() 而不帶回調(diào)將產(chǎn)生不同的結(jié)果,該結(jié)果僅引用第一個數(shù)字進(jìn)行排序,而不引用實際值。
Array.includes()
includes() 方法通過獲取值來確定數(shù)組是否包含某些元素。它返回一個布爾值。
示例用例
您想知道數(shù)組中是否包含 Mary。
陣列查找()
使用 find() 方法,我們能夠在數(shù)組中搜索某些內(nèi)容。它采用一個測試函數(shù),并返回提供的數(shù)組中與條件匹配的第一個元素。換句話說,它不會返回滿足測試的所有元素。
示例用例
您需要獲取長度為四個字母的客戶名稱。
數(shù)組索引()
這是在數(shù)組中搜索某些內(nèi)容的另一種方法,但這次它返回索引。如果在數(shù)組中找不到該元素,則返回 -1。
示例用例
你想檢查Jane是否在你的客戶名單上,這樣你就可以給她定制折扣。
數(shù)組.一些()
some() 方法測試數(shù)組中是否至少有一個元素與特定條件匹配。它與 include 方法不同,因為它需要條件或測試函數(shù),但不需要值。如果滿足條件,則返回 true,否則為 false。
示例用例
當(dāng)您想要檢查是否至少有一個客戶的名字以“s”開頭時,請使用此方法。
Array.concat()
當(dāng)您想要合并兩個或多個數(shù)組時,將使用 contact() 方法。
示例用例
您有兩個數(shù)組,一個包含男性客戶,另一個包含女性客戶,現(xiàn)在您要合并這些數(shù)組,以便一個數(shù)組包含所有客戶。