开发者社区 问答 正文

如何对ES6`Set`进行排序?

new Set(['b', 'a', 'c']).sort()抛出TypeError: set.sort is not a function。如何排序Set以确保特定的迭代顺序? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 13:51:02 377 分享 版权
1 条回答
写回答
取消 提交回答
  • 集合不是有序的抽象数据结构。

    甲Set然而总是具有相同的迭代顺序-元件插入顺序[1],所以当你重复它(通过迭代方法中,通过调用Symbol.iterator,或者通过为..循环的),则可以总是期望。

    您始终可以将集合转换为数组并对其进行排序。

    Array.from(new Set(["b","a","c"])).sort(); [...(new Set(["b","a","c"]))].sort(); // with spread. [1] forEach和CreateSetIterator

    2020-02-09 13:51:15
    赞同 展开评论
问答标签:
问答地址: