web-dev-qa-db-ja.com

[tslint]この単純な反復(prefer-for-of)を使用して、「for」ループではなく「for-of」ループを予期していました

For-ofに変換するというメッセージを解決しようとすると、forループにtslintエラーが発生します。多くのドキュメントを見てきましたが、役に立たない。lintエラーを解決するにはどうすればよいですか。tslint:disable-next-line:prefer-for-of

for (let i = 0; i < this.rows.length; ++i) {
    if (!this.rows[i].selected) {
        this.selectAllChecked = false;
        break;
    }
}
21
Juke

次のような形式を使用するように求めています。 ofキーワードは、配列のインデックスをループする代わりに、配列内のオブジェクトをループします。インデックスを使用しているのは配列内の値を取得する方法としてのみ使用しているためです(of構文を使用してクリーンアップできます)。

for (let row of this.rows) {
    if (!row.selected) {
        this.selectAllChecked = false;
        break;
    }
}

注として、次のワンライナーを使用して同じことを実現できます。

this.selectAllChecked = this.rows.every(row => row.selected);
39