Map и Set

24-03-24 08:12:40


Image for the Map и Set

Map

Объект Map в JavaScript представляет собой коллекцию пар ключ-значение, где каждый ключ и значение могут быть любого типа. В отличие от объектов, которые используют строки в качестве ключей, Map позволяет использовать любое значение, включая объекты, массивы и функции, в качестве ключей или значений.

let myMap = new Map();
myMap.set("ключ1", "значение1");
myMap.set(2, "значение2");
let obj = { ключ: "значение" };
myMap.set(obj, "значение3");

Map предоставляет методы для манипуляции и получения данных, такие как set(), get(), has() и delete().

console.log(myMap.get("ключ1")); // Вывод: "значение1"
console.log(myMap.has(obj)); // Вывод: true
myMap.delete(2);
console.log(myMap.size); // Вывод: 2

Set

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

let mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(2); // Игнорируется, 2 уже существует в множестве

Set предоставляет методы для манипуляции и получения данных, такие как add(), has() и delete().

console.log(mySet.has(1)); // Вывод: true
mySet.delete(2);
console.log(mySet.size); // Вывод: 1

Map vs Set

  • Используйте Map, когда вам нужно хранить пары ключ-значение и требуется, чтобы ключи были любого типа.
  • Используйте Set, когда вам нужно хранить уникальные значения и не требуется хранение пар ключ-значение.

Как Map, так и Set предлагают эффективные способы управления и доступа к данным, делая их ценным дополнением к языку JavaScript для работы с коллекциями данных.