我真的很喜欢在C#中为"for循环“使用foreach
构造。我认为它是非常干净,高效和可读性的。
在TypeScript中有类似的构造吗?例如,而不是这样:
setAuthorFilters(selectedAuthors)
{
selectedAuthors.forEach(x => this.setAuthorFilter(x));
this.updateUrl();
}
setAuthorFilter(selectedAuthor)
{
this.vm.SelectAuthors = this.vm.SelectAuthors.filter(x => x.id !== selectedAuthor.id);
this.vm.PreviousSelectedAuthors = this.vm.CurrentSelectedAuthors.slice();
this.vm.CurrentSelectedAuthors.push(selectedAuthor);
}
我想这样做:
setAuthorFilters(selectedAuthors)
{
foreach(var selectedAuthor in selectedAuthors)
{
this.vm.SelectAuthors = this.vm.SelectAuthors.filter(x => x.id !== selectedAuthor.id);
this.vm.PreviousSelectedAuthors = this.vm.CurrentSelectedAuthors.slice();
this.vm.CurrentSelectedAuthors.push(selectedAuthor);
}
this.updateUrl();
}
发布于 2017-10-05 00:18:43
是的,for ... of
例如。
for(let author of authors)
{
...
}
因为您使用的是TypeScript,所以这也适用于IE。请参阅https://basarat.gitbooks.io/typescript/content/docs/for...of.html:
For pre ES6 targets TypeScript将生成标准for (var i= 0;i< list.length;i++)类型的循环。
在纯Javascript中,没有Typescript,这在IE (source)中是不受支持的
更新:对于作用域来说,let
更类似于C#,而不是var
。更新了示例。
https://stackoverflow.com/questions/46569617
复制相似问题