首页 > 解决方案 > ESLint 中的循环问题

问题描述

我对 ESLint 有疑问,我不知道该怎么办了,因为没有它,我无法继续前进。我正在做的是连接我收到的数字,例如: ["1", "2"] 输出将是:12

    let _sortItem = '';
    for (var p in this.state.sortItem2) {
      _sortItem += this.state.sortItem2[p];
    }
    this._month = '';
    for (var m in this.state.sortItem1) {
      this._month += this.state.sortItem1[m];
    }

ESLint:for..in 循环遍历整个原型链,这几乎不是你想要的。使用 Object.{keys,values,entries},并遍历结果数组。(无限制语法

我怎样才能使它对 ESLint 有效?我知道已经有其他问题了,但是下一个代码对我不起作用。

Object.keys( this.state.sortItem2).forEach(function(p) {
  yield put(setCurrentValue(p, currentValues[p]));
})

谢谢!

标签: javascript

解决方案


您可以像这样重构第一个函数:

Object.keys(this.state.sortItem2).forEach(key => {
 _sortItem += this.state.sortItem2[key]
})

现在它只会翻转您分配给对象的属性,而不是所有继承的东西。


推荐阅读