我对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]));
})
谢谢!
答案 0 :(得分:1)
您可以像这样重构第一个函数:
Object.keys(this.state.sortItem2).forEach(key => {
_sortItem += this.state.sortItem2[key]
})
现在,它将仅滚动显示您分配给对象的属性,而不是所有继承的内容。
答案 1 :(得分:0)
可接受的答案很好,但是当您实际上只对值感兴趣时,使用Object.keys
并不是最佳解决方案:
Object.values(this.state.sortItem2).forEach(value => {
_sortItem += value;
});
或者,用for .. of
:
for (let value of Object.values(this.state.sortItem2)) {
_sortItem += value;
}
或更简单地说:
const _sortItem = Object.values(this.state.sortItem2).join('');