前言
ES6 給我們編程帶來(lái)了很多便利,以前用大量代碼實(shí)現(xiàn)的功能現(xiàn)在變得非常簡(jiǎn)潔。
本文總結(jié)了我在工作中經(jīng)常使用的 7 個(gè) JavaScript 技巧,希望對(duì)你也有幫助。
1.找出數(shù)組中的最大值或最小值
有時(shí),我們需要找到數(shù)組中的最大值,你通常是怎么做的?
解決方案 1
我們可以先對(duì)數(shù)組進(jìn)行排序,然后,數(shù)組的最后一項(xiàng)就是最大值。
解決方案 2
還有其他解決方案嗎?是的,我們可以使用“Math.max”輕松處理它。
2.計(jì)算數(shù)組的總和
如果有一個(gè)數(shù)字?jǐn)?shù)組,得到它們總和的最快方法是什么?
3.從數(shù)組中獲取隨機(jī)值
給你一個(gè)數(shù)組,現(xiàn)在你想從中獲取一個(gè)隨機(jī)值,你怎么做呢?
4.隨機(jī)打亂數(shù)組的值
我們?cè)诔楠?jiǎng)的時(shí)候,需要打亂抽獎(jiǎng)順序。
5.展平多層陣列
現(xiàn)在我們有了一個(gè)多維嵌套數(shù)組,如何將其鋪成一維數(shù)組?
解決方案 1
解決方案 2
事實(shí)上,我們有一個(gè)更簡(jiǎn)單的方法來(lái)解決它。關(guān)于flat,我們來(lái)看看MDN的解釋:
flat() 方法創(chuàng)建一個(gè)新數(shù)組,其中所有子數(shù)組元素遞歸連接到指定深度。
6.檢查數(shù)組是否包含值
過(guò)去,我們總是使用“indexOf”方法來(lái)檢查數(shù)組是否包含值。如果“indexOf”返回的值大于-1,則表示有一個(gè)。
但是,現(xiàn)在數(shù)據(jù)比較復(fù)雜,我們將無(wú)法通過(guò) indexOf 方法直接確認(rèn)數(shù)組中是否存在“fatfish”。幸運(yùn)的是,ES6 中提供了 findIndex 方法。
7.使用“includes”方法進(jìn)行判斷
你一定見(jiàn)過(guò)這樣的判斷方法,雖然,可以達(dá)到條件判斷的目的,但是,看起來(lái)很繁瑣。
我們可以使用includes方法讓代碼更簡(jiǎn)單甚至更可擴(kuò)展