[tslint]Erwartete eine ‘for-of’-Schleife anstelle einer ‘for’-Schleife mit dieser einfachen Iteration (prefer-for-of)
Lesezeit: 2 Minuten
Juke
Ich habe einen tslint-Fehler in meiner for-Schleife, wenn ich versuche, ihn zu lösen, es heißt, in for-of zu konvertieren. Ich habe viele Dokumente gesehen, aber es ist nicht hilfreich. Wie kann ich den Lint-Fehler lösen und ich kann tslint:disable-next-line:prefer-for-of nicht ausführen
for (let i = 0; i < this.rows.length; ++i) {
if (!this.rows[i].selected) {
this.selectAllChecked = false;
break;
}
}
Daniel W Strimpel
Sie werden aufgefordert, ein Format wie das folgende zu verwenden. Das of Das Schlüsselwort durchläuft die Objekte im Array, anstatt die Indizes des Arrays zu durchlaufen. Ich gehe davon aus, dass es ausgelöst wird, weil Sie den Index nur verwenden, um an den Wert im Array zu gelangen (der mit der of Syntax).
for (let row of this.rows) {
if (!row.selected) {
this.selectAllChecked = false;
break;
}
}
Als Hinweis, Sie können dasselbe mit dem folgenden Einzeiler erreichen:
Ich bekomme diesen Fehler mit einer FileList, ist es ein falsch positives Ergebnis? Weil ich for..of nicht mit Dateilisten verwenden kann
– Wutzebär
17. Januar 2020 um 11:21 Uhr
@wutzebaer im Moment glaube ich, dass es sich um einen Fehlalarm handelt FileList ist noch kein iterierbares Objekt (obwohl es so aussieht, als würden sie dies basierend auf dem Hinweis in der Spezifikation ändern: w3.org/TR/FileAPI/#filelist-section)
– Daniel W Strimpel
17. Januar 2020 um 13:32 Uhr
Irgendwelche Vorschläge, wie man über eine FileList iteriert, ohne auf Flusen zu stoßen und gleichzeitig zukunftssicher zu sein?
– Wutzebär
20. Januar 2020 um 11:33 Uhr
@wutzebaer es gibt seit einiger Zeit ein Problem für genau diese Sache (github.com/palantir/tslint/issues/2021). Es sieht so aus, als ob TSLint zugunsten von ESLint veraltet ist, also wäre die langfristige Strategie, dies zu beheben, die Umstellung darauf. Kurzfristig können Sie diese Regel für diese Zeilen einfach mit der Kommentarsyntax deaktivieren.
– Daniel W Strimpel
20. Januar 2020 um 14:59 Uhr
Aber was ist, wenn Sie den Index des Elements haben möchten, ist es einfacher, die erste Syntax zu haben
– Medin
12. Januar 2021 um 15:32 Uhr
Niranjana vs
Im tslint.json wir können innerhalb der Regeln hinzufügen:
"rules": {
"prefer-for-of": false
}
Dadurch wird das Problem behoben, indem die entsprechende Flusenregel deaktiviert wird.
14308000cookie-check[tslint]Erwartete eine ‘for-of’-Schleife anstelle einer ‘for’-Schleife mit dieser einfachen Iteration (prefer-for-of)yes