Расскажи о map и set
`Map` и `Set` — это структуры данных, введённые в ES6 (ECMAScript 2015), которые расширяют возможности стандартных объектов и массивов, предоставляя более специализированные и гибкие способы хранения данных.
Map
Это коллекция ключ/значение, где ключи могут быть любого типа, в отличие от объектов, где ключи могут быть только строками или символами. Он сохраняет порядок вставки элементов, что означает, что данные итерируются в том порядке, в котором они были добавлены.
Основные методы:
- `new Map()` — создаёт новую коллекцию.
- `map.set(key, value)` — устанавливает значение `value` для ключа `key`.
- `map.get(key)` — возвращает значение, ассоциированное с ключом `key`.
- `map.has(key)` — возвращает `true`, если `key` существует в коллекции.
- `map.delete(key)` — удаляет элемент по ключу `key`.
- `map.clear()` — удаляет все элементы из коллекции.
- `map.size` — возвращает количество элементов в коллекции.
let map = new Map();
map.set('1', 'str1'); // строка в качестве ключа
map.set(1, 'num1'); // цифра как ключ
map.set(true, 'bool1'); // булево значение как ключ
console.log(map.get(1)); // num1
console.log(map.get('1')); // str1
console.log(map.size); // 3Set
Это коллекция, которая хранит только уникальные значения без ключей (или, можно сказать, где значение одновременно и есть ключ). Как и `Map`, он сохраняет порядок вставки элементов.
Основные методы:
- `new Set()` — создаёт новую коллекцию.
- `set.add(value)` — добавляет значение `value` в коллекцию, если его там ещё нет.
- `set.delete(value)` — удаляет значение `value` из коллекции.
- `set.has(value)` — возвращает `true`, если значение `value` присутствует в коллекции.
- `set.clear()` — удаляет все элементы из коллекции.
- `set.size` — возвращает количество элементов в коллекции.
let set = new Set();
let john = { name: "John" };
let pete = { name: "Pete" };
let mary = { name: "Mary" };
// посещения, некоторые пользователи заходят многократно
set.add(john);
set.add(pete);
set.add(mary);
set.add(john);
set.add(mary);
console.log(set.size); // 3
for (let user of set) {
console.log(user.name); // John, Pete, Mary
}`Map` и `Set` представляют собой мощные структуры данных, которые делают код более чистым и читаемым, а также предоставляют удобные методы для работы с данными. `Map` идеально подходит для хранения пар ключ/значение с уникальными ключами, в то время как `Set` используется для хранения уникальных значений.
Feb. 26, 2024, easyoffer

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру