I have a problem with ESLint and I do not know what to do anymore, because without it it does not allow me to move forward. What I’m doing is concatenating the numbers that come to me, for example: [“1”, “2”] the output would be: 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 loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array. (no-restricted-syntax
How could I make this valid for ESLint? I know there are other questions already but it does not work for me the next code.
Object.keys( this.state.sortItem2).forEach(function(p) {
yield put(setCurrentValue(p, currentValues[p]));
})
Thank you!
Advertisement
Answer
You can refactor the first function like so:
Object.keys(this.state.sortItem2).forEach(key => {
_sortItem += this.state.sortItem2[key]
})
Now it’ll only roll over the properties you assigned to your object rather than all the inherited stuff too.