2017-09-18 56 views
0

我使用Javascript編寫,我非常習慣於使用數組助手作爲許多博客我讀過的告訴我,如果可能的話,完全遠離循環。但是在一些情況下,我需要迭代,而且數組幫助器比for循環更直觀,更麻煩。當你選擇在數組助手上使用傳統循環時,你能給我一個列表嗎?謝謝!什麼時候使用傳統的循環數組助手

+0

你能發表一個例子來解釋你在說什麼嗎? – SPlatten

+0

這兩者不能直接比較,因爲它們在功能上並不相同。數組幫助程序僅適用於數組。 'for'循環可以在任何迭代器上工作。 – CodingIntrigue

+0

通常你會回到這種情況下的遞歸。 – ftor

回答

1

突圍環

你不能擺脫陣列幫手。所以如果你需要跳出循環,你需要使用傳統的循環。

使用yield/await

因爲你不能傳遞一個generatorasync功能循環callback,你需要使用傳統的循環吧。

+0

您可以使用break語義或使用遞歸輕鬆地創建自己的map/reduce。然而,你用'yield' /'await'來對。這就是爲什麼生成器/異步函數吸引(除其他外)的原因。 – ftor

+0

@ftor是的,你可以創建map/reduce,但是除非我嚴格遵守函數式編程,否則我發現'for ...'更方便。 – shawon191

0
  1. ,如果我需要打出來的迭代的話,我會選擇使用 傳統的循環。 這是因爲break沒有使用數組助手的內置功能。

  2. 如果我編寫的代碼需要達到最高性能並且可讀性不是一個大問題,那麼我會使用傳統的循環。我相信傳統的循環通常比使用陣列助手更快(非常輕微)

+0

第二點,你不需要jQuery替代品,javascript已經內置了數組幫助器,即'forEach/map/filter/reduce'。性能差異應該很小。 – shawon191

+0

好的,不適用於整體數組幫助者。因爲我仍然認爲'for'的性能要比'forEach'好一些..視情況而定 – DNKROZ

相關問題