gpt4 book ai didi

javascript - TypeScript 是否具有 ES6 "Sets"的等效项

转载 作者:可可西里 更新时间:2023-11-01 02:45:21 25 4
gpt4 key购买 nike

我想从一个对象数组中提取所有独特的属性,您可以在 ES6 中使用扩展运算符和 Set 非常干净地完成此操作所以:

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 中,这给了我构建错误:

Cannot find name 'Set'

我知道我可以使用

强制 VS 忽略它
declare var Set;

但我希望 TypeScript 可以编译成非 ES6 的东西,这样它就可以在旧系统上使用。

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

编辑:

实际上,即使我使用declare var Set;,上面的代码也能编译但反复抛出这个错误,所以我不知道如何使用它,即使不编译下来:

Uncaught TypeError: (intermediate value).slice is not a function

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

最佳答案

这对我有用。

其中一个问题似乎是 typescript 试图使用

ERROR TypeError: (intermediate value).slice is not a function

代替 Array.from();

无论如何,这段代码在我的 Angular 4 应用程序中对我有用

Array.from(new Set(Array)).sort(this.compareNumbers)

希望这对某人有帮助

关于javascript - TypeScript 是否具有 ES6 "Sets"的等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41783499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com