JavaScript eslint错误 – 不要使循环中的函数
我正在用cucumber framework
在JavaScript(NodeJS)中编写一个自动testing脚本。 我的一个步骤定义需要调用API并读取JSON
数据。
在下面的代码中,ptRecords是JSON响应的块,我正在读取一个名为jsonElement1
和jsonElement2
元素,这两个元素重复了好几次,因此我正在读取所有的事件。
我的下面的代码工作正常,但是当我运行lint时,它会引发lint错误,说不要在循环语句下生成函数。
你可以请build议如何调用这些外部循环,并得到回应..
我需要这样做,直到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