如何让TypeScript在ES6到ES5中构建可迭代内容
How can I get TypeScript to build iterables in ES6 to ES5?
我正在尝试用TypeScript在Angular 2中创建一个唯一的用户对象数组。我用简洁优雅的ES6方法创建了一个独特的数组:
this.users = Array.from(new Set(this.users))
当我将TypeScript构建为ES5:时,我遇到了这个错误
类型为"Set<"{}>"不可分配给类型为"IterableShim<{}>'。类型"Set<"中缺少属性"es6填充程序迭代器";{}>'。
我尝试设置this.users : IterableShim<T>
,但IterableShim不是像字符串那样可接受的类型。文档中说String、Array、TypedArray、Map和Set都是内置的可迭代对象,因为它们的原型对象都有一个Symbol.iterator方法。(来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators)有没有一种方法可以让TypeScript编译它识别为ES5可迭代的ES6而不会出错?
使用lib
选项作为:
"lib": [
"dom","es6"
]
以下操作很好:
let users = []
users = Array.from(new Set(users))
更多
https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html#lib-选项
相关文章:
- 如何在javascript中迭代数字列表
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何迭代Array.prototype函数
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在ejs-partial中对JSON对象进行迭代
- 如何在DataTables 2.1中迭代对象数组
- 使用递归属性迭代保留属性结构
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 主干-从模板中迭代的集合中获取特定的模型
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 什么's是在javascript中迭代项的最佳方式
- 在Typescript中对array/JONS进行迭代,以构建带有子菜单的Angular 2模板菜单
- 如何迭代对象/数组中的项,并构建嵌套的JSON
- 如何重新构建此 for 循环,以便在异步 api 调用完成之前不会进行下一次迭代
- Javascript如何用不稳定的迭代时间构建循环
- Javascript:通过递归迭代对象来构建导航列表
- 迭代jQuery集合,而不必重新构建jQuery对象
- 如何让TypeScript在ES6到ES5中构建可迭代内容
- 如何迭代对象并构建新对象