試過不用循環語句擼代碼嗎?

試過不用循環語句擼代碼嗎?

在昨天的文章中,我們介紹了,如果不使用if語句的話,如何解決一些簡單的編程問題。那麼,這次我們不妨試試,在不使用循環語句的情況下,如何編程呢?

示例1: 數組元素求和

數組如下:

試過不用循環語句擼代碼嗎?

使用循環語句

試過不用循環語句擼代碼嗎?

可知,我們需要通過修改sum變量,來計算結果。

不用循環語句

使用reduce方法時,就可以避免使用循環語句了:

試過不用循環語句擼代碼嗎?

實現遞歸,同樣可以避免使用循環語句:

試過不用循環語句擼代碼嗎?

可知,代碼中巧妙地使用了一個ES6語法 - 擴展運算符。rest代表了除去第一個元素之後的剩餘數組,它的元素個數會隨著一層層遞歸而減小直至為0,這樣就滿足了遞歸結束的條件。這種寫法非常機智,但是在我看來,可讀性並沒有使用reduce方法那麼好。

前端課程10週年慶!最前福利送送送!7折優惠瘋狂減免!

示例2: 將數組中的字符串拼接成句子

數組如下,我們需要過濾掉非字符串元素:

試過不用循環語句擼代碼嗎?

目標結果是“Hello!”.

使用循環語句

試過不用循環語句擼代碼嗎?

不用循環語句

使用filter和join方法的話,可以避免使用循環語句:

試過不用循環語句擼代碼嗎?

可知,使用filter方法還幫助我們省掉了if語句。

示例3: 將數組元素變換為對象

數組元素為一些書名,需要將它們轉換為對象,併為每一個對象添加ID:

試過不用循環語句擼代碼嗎?

目標結果如下:

試過不用循環語句擼代碼嗎?

使用循環語句

試過不用循環語句擼代碼嗎?

不用循環語句

使用map方法的話,可以避免使用循環語句:

試過不用循環語句擼代碼嗎?

前端開發工程師班報名7折優惠最後兩天!錯過不再有,低過雙十一,史上最低級!

試過不用循環語句擼代碼嗎?


分享到:


相關文章: