Как отсортировать набор в 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 }