Javascript [tslint]预期为';对于';循环而不是';对于';使用此简单迭代循环(对于of更可取)
当我试图解决它时,我的for循环中出现了一个tslint错误,它表示要转换为for of。我看过很多文档,但都没有帮助。我如何解决lint错误,而我无法执行tslint:disable next line:prefer for of of ofJavascript [tslint]预期为';对于';循环而不是';对于';使用此简单迭代循环(对于of更可取),javascript,visual-studio,typescript,for-loop,tslint,Javascript,Visual Studio,Typescript,For Loop,Tslint,当我试图解决它时,我的for循环中出现了一个tslint错误,它表示要转换为for of。我看过很多文档,但都没有帮助。我如何解决lint错误,而我无法执行tslint:disable next line:prefer for of of of for (let i = 0; i < this.rows.length; ++i) { if (!this.rows[i].selected) { this.selectAllChecked = false;
for (let i = 0; i < this.rows.length; ++i) {
if (!this.rows[i].selected) {
this.selectAllChecked = false;
break;
}
}
for(设i=0;i
它要求您使用如下格式。关键字的在数组中的对象上循环,而不是在数组的索引上循环。我假设它正在触发,因为您只使用索引作为获取数组中的值的一种方式(可以使用
语法的清除该值)
请注意,您可以使用以下一行程序完成相同的任务:
this.selectAllChecked = this.rows.every(row => row.selected);
我在文件列表中发现这个错误,是误报吗?因为我不能用…来代替filelists@wutzebaer目前,我认为这是一个误判,因为文件列表
还不是一个可移植的对象(尽管看起来他们正计划根据规范中的注释进行更改:)有没有什么建议可以在不影响lint和beeing的情况下对文件列表进行迭代?@wutzebaer这个问题已经讨论了一段时间()。看起来TSLint正在被弃用,取而代之的是ESLint,所以解决这一问题的长期策略是转变为使用它。在短期内,您可以使用注释语法为这些行禁用该规则。但是,如果您想获得项目的索引,那么使用第一个语法就更容易了
this.selectAllChecked = this.rows.every(row => row.selected);