我想从一个对象数组中提取所有唯一属性,你可以使用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中使用的代码?