const myArrayWithDupes = ['a', 'b', 'c', 'a'];
console.log([...new Set(myArrayWithDupes)]); // your original line
console.log([].concat(new Set(myArrayWithDupes))); // incorrect when `loose` is set to `true`
console.log(Array.from(new Set(myArrayWithDupes))); // a potential workaround
1条答案
按热度按时间qmb5sa221#
这看起来像是与babel/babel#9108Correctly transform spreads to use proper concat method相关,它被合并到v7.2.2中。
正如在smashercosmo的评论中提到的公关...
此PR的一个缺点是,在此之前,如果有人试图在
loose
模式下传播Set
,则会抛出清 debugging 误,但现在他将得到[Set()]
的错误输出,这将更难发现。我想这就是你在这里看到的,😔可能是因为你的Babel配置把
loose
设置成了true
,但是我不确定。一种可能的解决方法是使用
Array.from
: