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

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

В 2015 году JavaScript представил ES6, чтобы предоставить разработчикам расширенные возможности программирования. ES6 представил карты и наборы, чтобы разработчикам не приходилось создавать их с использованием примитивных типов данных. Давайте рассмотрим их подробнее.

Понимание карт в JavaScript

Карта – это тип структуры данных, в которой хранятся пары ключ-значение. Это один из самых эффективных методов поиска и извлечения данных. Вы можете хранить все типы данных в картах JavaScript.

Давайте посмотрим на некоторые методы, которые вы можете использовать с картами JavaScript.

Связанный: Как создавать структуры данных с помощью классов JavaScript ES6

1 комплект()

Вы можете вставить пару ключ-значение в карту с помощью метода set () . Этот метод принимает два аргумента: ключ и значение.

Ознакомьтесь с приведенным ниже кодом, который показывает, как вставить в карту.

 let map = new Map();
map.set("fruit1", "Grapes");
map.set("fruit2", "Mango");
map.set("fruit3", "Strawberry");
map.set("fruit4", "Mango");

console.log(map)

Результат после печати карты:

 Map {
'fruit1' => 'Grapes',
'fruit2' => 'Mango',
'fruit3' => 'Strawberry',
'fruit4' => 'Mango' }

2. удалить ()

Чтобы удалить элемент с карты, используйте метод delete () . Этот метод принимает один аргумент: ключ данных, которые вы хотите удалить. Если ключ существует, этот метод удаляет эту запись с карты и возвращает true. В противном случае возвращается false.

 console.log("Is the fruit1 deleted", map.delete("fruit1"));
console.log(map)

Результат после удаления fruit1 :

 Is the fruit1 deleted true
Map {
'fruit2' => 'Mango',
'fruit3' => 'Strawberry',
'fruit4' => 'Mango' }

3. получить ()

Метод get () извлекает значение указанного ключа. Как и метод delete () , он принимает один аргумент: ключ.

 console.log(map.get("fruit2"))

Производит следующий вывод:

 Mango

4. размер ()

Метод size () возвращает количество пар ключ-значение, присутствующих на карте.

 let map = new Map();
map.set("fruit1", "Grapes");
map.set("fruit2", "Mango");
map.set("fruit3", "Strawberry");
map.set("fruit4", "Mango");
console.log("The size of the map is", map.size)

Дает следующий результат:

 The size of the map is 4

5. clear ()

Чтобы удалить все элементы с карты, используйте метод clear () .

 map.clear()
console.log(map)

Вывод карты после удаления всех элементов:

 Map {}

6. имеет ()

Метод has () помогает проверить, существует ли ключ на карте или нет. Он возвращает логическое значение в зависимости от наличия элемента на карте. Этот метод принимает один аргумент: ключ для поиска.

 console.log("The grapes exists:", map.has("fruit1"))

В нашем примере карты выдает следующий результат:

 The grapes exists: true

7. ключи ()

Метод keys () возвращает итератор со всеми ключами в нем. Вы можете просмотреть их в цикле, чтобы получить доступ к отдельному ключу.

 const keys = map.keys();

for (let k of keys) {
console.log(k);
}

Вывод приведенного выше кода:

 fruit1
fruit2
fruit3
fruit4

8. ценности

Метод values ​​() возвращает итератор со всеми значениями в нем.

 const values = map.values();

for (let v of values) {
console.log(v);
}

Вывод приведенного выше кода:

 Grapes
Mango
Strawberry
Mango

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

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

Связанный: Как удалить повторяющиеся элементы из массива в JavaScript, Python и C ++

Давайте посмотрим на некоторые методы в наборе:

1. добавить ()

Метод add () помогает добавлять данные в набор. Если вы попытаетесь добавить повторяющиеся данные, набор просто проигнорирует их.

 let s = new Set();
s.add(1);
s.add(2);
s.add(3);
s.add(4);
s.add(4);
console.log(s);

Дает результат:

 Set { 1, 2, 3, 4 }

2. удалить ()

Метод delete () удаляет указанное значение из набора.

 s.delete(3);
console.log(s);

Результат после удаления 3:

 Set { 1, 2, 4 }

3. имеет ()

Методы has () помогают проверить, существует ли значение в наборе или нет.

 console.log(s.has(1))

Вывод приведенного выше кода верен .

4. clear ()

Метод clear () помогает удалить все элементы в наборе.

 s.clear();
console.log(s);

Результат после удаления всех элементов набора:

 Set {}

Узнать больше о ES6

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

Хотите узнать больше о ES6? Прочтите статью ниже, которая расскажет вам все об этом.