跳至內容

unicorn/no-array-for-each 限制

🚧 自動修復功能仍在開發中。

功能說明

禁止使用 Array#forEach,建議使用 for 迴圈。

為什麼這樣不好?

相較於 forEach 方法,for…of 陳述式的優點包含:

  • 速度更快
  • 可讀性更好
  • 能夠使用 breakreturn 提早結束

此外,如果您使用 TypeScript,for…of 還具有很大的優勢,因為它不會導致跨越函式邊界。這表示在目前作用域中較早發生的型別縮小,在迴圈內將正常運作(無需重新縮小型別)。此外,為了確定是否正在使用變數,迴圈內任何已變動的變數都會被偵測到。

範例

本規則的不正確程式碼範例

javascript
const foo = [1, 2, 3];
foo.forEach((element) => {
  /* ... */
});

本規則的正確程式碼範例

javascript
const foo = [1, 2, 3];
for (const element of foo) {
  /* ... */
}

參考資料

依 MIT 許可發布。