Понимание наборов в JavaScript

Наборы — это новое дополнение к JavaScript в ES6. Давайте узнаем об этом.

Что за наборы?

Как использовать их в JavaScript?

И какие методы предлагает для решения проблем?

Давайте узнаем ответы на все вопросы в этом уроке.

Наборы

Как видно из названия, набор — это набор уникальных элементов. Он не хранит повторяющиеся значения.

Наборы в JavaScript будут хранить элементы в порядке вставки. Итак, они упорядочены в JavaScript. И он будет хранить примитивные типы данных или объекты.

Давайте посмотрим на синтаксис наборов в JavaScript.

Надеюсь, у вас есть IDE, чтобы попрактиковаться в следующем.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(names);

const randomWord = new Set("Hiiiiiii");
console.log(randomWord);

const numbers = new Set([5, 5, 5, 2, 1, 1, 2, 3]);
console.log(numbers);

Свойства и методы

У наборов есть разные свойства и методы, которые помогают нам работать с ними для решения разных задач. Свойства и методы так же просты, как и их создание. Вы можете легко получить функциональность методов с их именами. Давайте посмотрим их один за другим.

размер

Размер свойства возвращает количество элементов, присутствующих в наборе.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(`Size: ${names.size}`);

добавлять

Метод add используется для добавления нового элемента в набор. Если новый элемент уже присутствует в наборе, то он его не добавит.

// empty set
const names = new Set();

names.add("John");
names.add("Harry");
names.add("Wick");
names.add("Jack");
names.add("Harry");

console.log(names);

имеет

Метод принимает один аргумент и возвращает true, если элемент присутствует в наборе, иначе возвращает false.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

console.log(names.has("Harry"));
console.log(names.has("Alley"));

Удалить

Как и следовало ожидать, метод delete принимает аргумент и удаляет его из множества. Он не выдает никакой ошибки, даже если данный аргумент отсутствует в наборе.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.delete("John");

console.log(names);

записи

Записи метода возвращают итератор, содержащий массивы пар ключ-значение в порядке вставки. Здесь ключ и значение совпадают.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const entries = names.entries();

console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);

ключи

Ключи метода возвращают итератор множества элементов в порядке вставки.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const keys = names.keys();

console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);

ценности

Значения метода возвращают итератор элементов набора в порядке вставки, аналогичном ключам метода.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const values = names.values();

console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);

Чисто

Метод clear удаляет все элементы из набора.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.clear();

console.log(names);

для каждого

Метод forEach используется для перебора набора и получения из него всех элементов по одному.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.forEach((element) => {
   console.log(element);
});

Разнообразный

Давайте рассмотрим простое применение наборов с помощью программы. Учитывая массив, удалите из него все повторяющиеся значения. Чтобы решить проблему, мы можем использовать свойство set.

Давайте посмотрим, как решить эту проблему.

  • Инициализировать массив фиктивными данными.
  • Инициализировать пустой набор.
  • Перебрать массив элементов.
    • Добавьте каждый элемент в набор.
    • Он автоматически удалит повторяющиеся элементы.
  • Инициализировать пустой массив.
  • Переберите набор и добавьте каждый элемент в новый массив.
  • Распечатайте новый массив.

Я надеюсь, что вы можете решить это самостоятельно. Если вам сложно кодировать, взгляните на решение ниже.

const arr = ["John", "Harry", "Wick", "Jack", "Harry"];

const temp = new Set();

arr.forEach((element) => {
   temp.add(element);
});

const newArr = [];

temp.forEach((element) => {
   newArr.push(element);
});

console.log(newArr);

Вывод

Теперь у вас есть все знания, необходимые для работы с множествами в JavaScript. Вы можете использовать их в своем следующем проекте. Идите вперед и используйте каждую частичку этого.

Удачного кодирования 👨‍💻