Как отсортировать набор в JavaScript?
Набор в JavaScript — это объект особого типа, в котором хранятся отдельные элементы. Набор может хранить как примитивы, так и объекты. При переборе заданного объекта он возвращает элементы в том же порядке, в котором они были вставлены.
В этой статье мы увидим, как сортировать Set по значению элементов. Один из способов достижения цели — использовать встроенную функцию sort(). Но функция sort() не может быть напрямую реализована на множестве, а скорее:
- Мы создадим контейнер массива, используя элементы, хранящиеся в наборе.
- Затем мы выполним функцию sort() для массива.
- Мы очистим весь набор и сохраним элементы, хранящиеся во вновь отсортированном массиве.
Поскольку набор возвращает элементы в том же порядке, в котором они были вставлены, теперь весь набор будет отсортирован.
Следует отметить, что здесь, в этой статье, мы будем сортировать набор в порядке возрастания, но порядок сортировки можно настроить в соответствии с необходимостью, реализуя логику сортировки. Теперь мы рассмотрим различные подходы к созданию массивов для достижения нашей цели.
Подход 1. Перебор набора вручную. В этом подходе мы будем перебирать набор вручную и вставлять элементы набора в новый массив, который будет отсортирован в соответствии с нашими потребностями.
Синтаксис:
# myset is the set under consideration for this article
let myarr = [];
for (let element of myset) {
// Set elements pushed into the array
myarr.push(element);
}
# myArray consists of the elements of the set
myArray.sort()Пример:
Выход:
Set(4) { 3, 2, 9, 6 }
[ 3, 2, 9, 6 ]
Set(4) { 2, 3, 6, 9 }Подход 2. Использование метода Array.from(). Одним из способов создания массива является использование встроенного метода Array.from(), который создаст массив из элементов набора. Чтобы узнать больше о методе, перейдите по этой ссылке.
Синтаксис:
# myset is the set under consideration for this article myArray = Array.from(myset) myArray.sort()
Пример:
Выход:
Set(4) { 3, 2, 9, 6 }
[ 3, 2, 9, 6 ]
Set(4) { 2, 3, 6, 9 }