问题
new Set(['b', 'a', 'c']).sort()
throws TypeError: set.sort is not a function
. How can I sort a Set
to ensure a particular iteration order?
回答1:
A set is not an ordered abstract data structure.
A Set
however always has the same iteration order - element insertion order [1], so when you iterate it (by an iterating method, by calling Symbol.iterator
, or by a for.. of loop) you can always expect that.
You can always convert the set to an array and sort that.
Array.from(new Set(["b","a","c"])).sort();
[...(new Set(["b","a","c"]))].sort(); // with spread.
[1] forEach and CreateSetIterator
来源:https://stackoverflow.com/questions/33089695/how-can-i-sort-an-es6-set