当前位置:  开发笔记 > 编程语言 > 正文

TypeScript是否具有等效的ES6"集合"

如何解决《TypeScript是否具有等效的ES6"集合"》经验,为你挑选了0个好方法。

我想从一个对象数组中提取所有唯一属性,你可以使用spread运算符和Set来非常干净地在ES6中这样做:

var arr = [ {foo:1, bar:2}, {foo:2, bar:3}, {foo:3, bar:3} ]   
const uniqueBars = [... new Set(arr.map(obj => obj.bar))];

>> [2, 3]

但是,在TypeScript 1.8.31中,这给了我构建错误:

找不到名字'Set'

我知道我可以通过使用迫使VS忽略它

declare var Set;

但我希望TypeScript可以编译成非ES6,以便它可以在旧系统上使用.

有谁知道我可以使用这样的功能吗?

编辑:

实际上,即使我使用declare var Set;,上面的代码编译但反复抛出此错误,所以即使没有编译,我也不确定如何使用它:

未捕获的TypeError :(中间值).slice不是函数

如何更新我Set在TypeScript中使用的代码?

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有