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

标签 javascript arrays sorting set ecmascript-6

new Set(['b', 'a', 'c']).sort() 抛出 TypeError: set.sort is not a function。如何对 Set 进行排序以确保特定的迭代顺序?

最佳答案

集合不是有序的抽象数据结构。

A Set 但是始终具有相同的迭代顺序 - 元素插入顺序 [1],因此当您迭代它时(通过迭代方法,通过调用 Symbol.iterator ,或通过 for.. of 循环)你总是可以期待的。

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

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

[1] forEachCreateSetIterator

关于javascript - 如何对 ES6 `Set` 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089695/

相关文章:

包含 "key : value"项的 php 搜索数组

java - 在android中排序 ListView

r - 错误 : arrange() failed at implicit mutate() step. x 无法为 `..1` 创建临时列

javascript - jQuery 查找返回空字符串

java - 在java中显示二维数组

javascript - 哈希作为选中复选框的值,如果取消选中复选框则删除

c - 如何跨多行、空格等读取用户输入?

java - 选择排序未正确排序 - 或根本没有排序

Javascript:类中的绑定(bind)长度

javascript - 如何使用 JavaScript 停止在文本框中写入