三分鐘閱讀:給自己3分鐘的時間,拾起自己遺漏的知識點,這是第一期從今天開始,我準備寫個《三分鐘閱讀》系列,三分鐘時間不長,無法系統的介紹乙個知識點,但能夠描述清楚乙個知識點的一部分。我的初衷是三分鐘能夠給你的知識網路添塊磚,幫你拾起一些自己平常容易忽略的知識點,每天進步一點點。
今天的主題準備講講foreach
,foreach
一般用來遍歷陣列,有時候為了提高效能,在處理完資料之後,我們會提前跳出迴圈,通過break
、return
、continue
,然而,在foreach
中是有點問題的。
我們看下面這個例子,我們想在遍歷到第二個位置的時候,跳出迴圈。
const array = [1,2,3];
array.foreach((item,index)=>
console.log(item);
})複製**
輸出結果是啥呢?咋一看,你可能會說是1
,但實際執行我們會發現結果是1 3
,因為foreach
裡面,使用return
並不會終止迴圈,會繼續遍歷。
把之前例子修改一下,同樣,我們想遍歷到第二個位置的時候,中止迴圈,期望輸出結果是1
const array = [1,2,3];
array.foreach((item,index)=>
console.log(item);
})複製**
執行一下,你會發現直接報錯,提示unsyntactic break
。
再修改一下,我們希望跳過2
,直接輸出1 3
const array = [1,2,3];
array.foreach((item,index)=>
console.log(item);
})複製**
同樣,類似於break
,報錯,提示unsyntactic continue
視情況跳出中止迴圈在我們業務開發中是很常見,因為能夠減少無謂的遍歷,從而降低**執行時間,提高效能,所以替代方式都有哪些呢?
通過簡單的for迴圈或者for...of迴圈,return、break、continue都能夠正常執行
通過es6提供的一些新api,比如完成某個條件就跳出遍歷,我們可以使用every()
或者some()
方法
最後,在遍歷陣列的時候多想想什麼樣的方法比較適合,不要一碰到遍歷,就使用foreach
map
,如果可以提前中止迴圈,就要學會提前中止,減少**執行時間。
沉默三分鐘
網上見此真情之文,藉以自表 原文 http www.hecaitou.net p 3018 沉默三分鐘是心祭。那麼多年了,國旗終於為平民而降。那麼多天了,全民哀悼終於實現。與此同時,火炬停止傳遞,因為這不是乙個歡慶的時刻。很多年後回顧2008年,我 也許寧可它從日曆中消失。還沒有哪一年和今年一樣,才...
《每天感恩三分鐘》
每天感恩三分鐘 有位104歲的老太太耳聰目明,老而彌堅。有人向她請教長壽秘訣,老太太笑了 我有一帖靈丹妙藥,那就是每天化三分鐘時間感恩。她說,化一分鐘感恩父母 丈夫 兒女 鄰居和陌生人 一分鐘感恩大自然給予的種種關懷和體貼 一分鐘感恩每乙個祥和 溫暖和快樂的日子 感恩使她心裡永遠流淌著幸福的泉水,有...
三分鐘讀懂ZeroMQ
zeromq可以分開來看zero mq,mq就是message queue訊息佇列。zero是零,它代表零中介軟體 none broker 零延遲,同時,它又有了新的含義 零管理 零成本 零浪費。總的來說,零表示最小 最簡,這是貫穿於該項目的哲理。致力於減少複雜程度,提高易用性。訊息佇列有四個典型應...