避免使用循环反应“no-unused-vars”错误

Pri*_*aly 1 javascript loops reactjs eslint

我正在根据另一个数组中的项目数量生成一个对象数组。很简单,我只是在执行以下操作,效果很好。

for(let i in myArray){
  newArray.push({
    var1: someFunctionValue(),
    var2: anotherFunctionValue()
  });
}
Run Code Online (Sandbox Code Playgroud)

然而,因为没有使用“i”,React(ESLint?)给了我警告“i”被分配了一个值但从未使用过 - no-unused-vars。

有没有更好的方法我应该这样做?我真的看不出有什么方法可以在不产生此错误的情况下实现我想要的。

Li3*_*357 5

您在数组上使用 for-in 循环,而不使用可枚举键(索引)。你应该Array#forEach改用,因为它接受回调,你可以省略任何参数:

myArray.forEach(() => { // No callback args
  newArray.push({
    var1: someFunctionValue(),
    var2: anotherFunctionValue()
  });
});
Run Code Online (Sandbox Code Playgroud)

此外,现在我正在阅读您的变量名称,看来您正在尝试进行映射操作,就像对于 中的每个元素一样myArray,您需要一个newArray与每个索引相关联的新元素。如果是这种情况,更好的方法是Array#map您的myArray

const newArray = myArray.map(() => ({
  var1: someFunctionValue(),
  var2: anotherFunctionValue(),
}));
Run Code Online (Sandbox Code Playgroud)

不需要任何中介,而且很简洁。