new Set(['b', 'a', 'c']).sort()
throws TypeError: set.sort is not a function
. Как я могу сортировать Set
для обеспечения определенного порядка итераций?
Как я могу отсортировать ES6 `Set`?
Ответ 1
Множество не является упорядоченной абстрактной структурой данных.
A Set
однако всегда имеет один и тот же порядок итераций - порядок вставки элемента [1], поэтому, когда вы его итерации (методом итерации, вызывая Symbol.iterator
или с помощью цикла for..), вы можете всегда ожидайте этого.
Вы всегда можете преобразовать набор в массив и отсортировать его.
Array.from(new Set(["b","a","c"])).sort();
[...(new Set(["b","a","c"]))].sort(); // with spread.
[1] forEach
и CreateSetIterator