JavaScript eslint 错误 - 不要在循环下创建函数

标签 javascript node.js eslint

我正在使用 cucumber 框架 在 JavaScript (NodeJS) 中编写自动化测试脚本。我的步骤定义之一需要调用 API 并读取 JSON 数据。

在下面的代码中,ptRecords 是 JSON 响应 block ,其中我正在读取一个名为 jsonElement1jsonElement2 的元素,这两个元素重复多次,因此我正在读取所有的事件..

我的以下代码工作正常,但是当我运行 lint 时,它会抛出 lint 错误,提示不要在循环语句下创建函数。

能否请您告知如何调用这些外部循环并获得响应..

我需要这样做直到K循环结束

for (let k = 0; k < 5; k += 1) {
  ptRecords.forEach((jsonArrObj1) => {
    const jsonArrObjTagValue = objectHelpers.walk(jsonArrObj1.jsonElement1);
    acc.push(jsonArrObjTagValue1);
  });

  ptRecords.forEach((jsonArrObj2) => {
    const jsonArrObjTagValue = objectHelpers.walk(jsonArrObj2.jsonElement2);
    acc.push(jsonArrObjTagValue2);
  });
};

最佳答案

你也许可以改变这个:

for (let k = 0; k < 5; k += 1) {
  // ...
}

进入:

[0, 1, 2, 3, 4].forEach(k => {
  // ...
});

或者您可以使用一些快捷方式来自动生成数组:

[...Array(5).keys()].forEach(k => {
  // ...
});

或:

[...Array(5)].forEach((v, k) => {
  // ...
});

或者如果您知道自己在做什么,有时您最好的选择是禁用某个规则:

// eslint-disable-line no-loop-func

关于JavaScript eslint 错误 - 不要在循环下创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112707/

相关文章:

javascript - 具有一个数据绑定(bind)的 Angular 应用程序运行缓慢

node.js - 表达:req.params 与 req.body (JSON)

node.js - husky+lint-staged 在未暂存的文件上运行

javascript - javascript - DOM 权限

javascript - 删除 javascript 和 jquery 中的 session

javascript - 为什么我的 jquery 插件在我将它放入 div 容器后停止工作?

node.js - Axios 与 Heroku

node.js - 由于盐未知,Node bcrypt 哈希/比较如何工作

vue.js - 使用 vue.js 时如何修复 "1 error potentially fixable with the ` --fix` 选项”?

node.js - 有没有办法忽略 eslint-plugin-security 的测试文件?