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