3 апреля 2024 г.
Объект Set – это особый вид коллекции (множество значений без ключей) и позволяет хранить уникальные значения, примитивы и ссылки на объекты. Каждое значение может встречаться только один раз.
Set() создаёт новый объект Set. При создании можно передать ему некоторые значения:
const myset1 = new Set();
const myset2 = new Set(['1','2','3','4','5','4']); // 4 второй раз не добавится
Также можно добавлять значения в Set, используя метод add:
myset2.add('1');
myset2.add('2');
myset2.add('3');
myset2.add('4');
myset2.add('5');
myset2.add('4'); // 4 второй раз не добавится
Также можно использовать цепочку вызовов:
myset2.add('1').add('2').add('3').add('4').add('5').add('4'); // 4 второй раз не добавится
Для удаления значения из Set используется метод delete:
myset2.delete('3'); // true
myset2.delete('7'); // false - в myset2 нет такого значения
Проверить наличие свойства в Set можно используя метод has:
myset2.has('2'); // true
myset2.has('7'); // false - в myset2 нет такого значения
Длину Set можно узнать используя метод size:
myset2.size; // 5
Для очищения Set используем метод clear:
myset2.clear(); // пусто
Использовать Set можно для удаления повторяющихся значений в массиве:
const nums = [10,20,30,40,50,60,60,70,80,80,50,20,10, 90, 100];
const uniqNums = [...new Set(nums)]; // [10,20,30,40,50,60,70,80,90,100];