Введение

1. Объект Set позволяет хранить уникальные значения любого типа, будь то примитивные значения или ссылки на объекты.

2. Объекты Set представляют собой коллекции значений. Значение в наборе может встречаться только один раз; он уникален в коллекции набора.

3.Вы можете перебирать элементы набора в порядке вставки. Порядок вставки соответствует порядку, в котором каждый элемент был успешно вставлен в набор методом add() (т. е. на момент вызова add() в наборе уже не было идентичного элемента).

2.Как создать набор

Вы можете создать набор JavaScript:

  • Передача массива в new Set()
  • Создайте новый набор и используйте add() для добавления значений.
  • Создайте новый набор и используйте add() для добавления переменных.

2.1 Новый метод Set():-

Передайте массив конструктору new Set():

2.2 Пример:-

// Create a Set
const letters = new Set(["a","b","c"]);

3. Установите методы

  1. new Set() :Создает новый набор.
  2. add(): добавляет новый элемент в набор.
  3. delete() : удаляет элемент из набора.
  4. has():Возвращает true, если значение существует.
  5. clear():удаляет все элементы из набора.
  6. forEach() :Вызывает обратный вызов для каждого элемента.
  7. values() : Возвращает итератор со всеми значениями в наборе.
  8. keys() :то же, что иvalues()
  9. entries() : Возвращает итератор с парами [значение, значение] из набора.
  10. размер:Возвращает числовые элементы в наборе.

4. Пример

const mySet1 = new Set();
mySet1.add(1); // Set(1) { 1 }
mySet1.add(5); // Set(2) { 1, 5 }
mySet1.add(5); // Set(2) { 1, 5 }
mySet1.add("some text"); // Set(3) { 1, 5, 'some text' }
const o = { a: 1, b: 2 };
mySet1.add(o);
mySet1.add({ a: 1, b: 2 }); // o is referencing a different object, so this is okay
mySet1.has(1); // true
mySet1.has(3); // false, since 3 has not been added to the set
mySet1.has(5); // true
mySet1.has(Math.sqrt(25)); // true
mySet1.has("Some Text".toLowerCase()); // true
mySet1.has(o); // true
mySet1.size; // 5
mySet1.delete(5); // removes 5 from the set
mySet1.has(5); // false, 5 has been removed
mySet1.size; // 4, since we just removed one value
mySet1.add(5); // Set(5) { 1, 'some text', {…}, {…}, 5 } - a previously deleted item will be added as a new item, it will not retain its original position before deletion
console.log(mySet1); // Set(5) { 1, "some text", {…}, {…}, 5 }