eslint for loop 'i' 未定义

eslint for loop 'i' is not defined

我是 eslint 的新手,我正在更新我的代码以适应我的 eslint 文件。

module.exports = {
  env: {
    browser: true,
    commonjs: true,
    node: true,
    es2021: true,
  },
  extends: 'eslint:recommended',
  parserOptions: {
    ecmaVersion: 'latest',
  },
  rules: {
    indent: ['error', 2],
    'linebreak-style': ['error', 'unix'],
    quotes: ['error', 'single'],
    semi: ['error', 'always'],
  },
};

我有一个 for 循环,eslint 说 'i' 没有定义。

  for (i = 0; dbl.length > i; i++) {
    arr.push(dbl[i].Author); 
  }

据我所知,当使用 for 循环时,您应该在第一部分初始化一个 var,但我不确定。

我是在做循环错误还是 eslint 遗漏了什么?

感谢所有帮助,谢谢!

您必须先声明变量。按照下面的代码。

  for (let i = 0; dbl.length > i; i++) {
    arr.push(dbl[i].Author); 
  }

我想你明白了。

你的问题与eslint无关。您需要定义i才能使用它。

// note the `let` before the `i`
for (let i = 0; dbl.length > i; i++) {
    arr.push(dbl[i].Author); 
}