Любопытство или вопрос: Что такое объекты Map и Set? #datastructures
Добро пожаловать в серию «Детские шаги» по основам JavaScript с Тони! Пусть эта запись в блоге станет вашим заполнителем, чтобы быстро сослаться на использование Map и Set в JavaScript, с лучшим пониманием структур данных.
Структуры данных на любом языке программирования - это строительные блоки, необходимые для хранения (ввода / получения данных), обработки, обслуживания и извлечения данных.
Данные в массивах и объектах JavaScript:
- Типы данных JS: String, Number, Boolean, Null, Undefined
//arrays [] //objects {} JavaScript objects is denoted by the {} curly brackets
Значения объекта рассматриваются как пары ключ / значение, которые могут быть приняты либо как свойства объекта, либо как методы (функции). Свойства - это функции или атрибуты объекта, тогда как методы - это функции или действия, которые могут выполняться с объектом. - Крис Нвамба
Карта - это набор упорядоченных пар ключ / значение. Карта - это набор пар ключ / значение, которые могут использовать любой тип данных в качестве ключа и могут поддерживать порядок своих записей.
const myMap = new Map();myMap.set('a', 5); myMap.set('b', 2); myMap.set('c', 3); myMap.get('a'); // 5 myMap.set('a', 'ok'); myMap.get('a'); // 'ok' myMap.size; // 3 myMap.delete('b'); // removes b key/value myMap.clear() // empties map
Set - это набор уникальных значений, таких как удаление дубликатов из массива, что работает! В объекте Set у нас есть доступ к методам has, get, delete, clear и size, а также к методам связывания с помощью точечной нотации (.). Наборы отлично подходят для алгоритмов задания, получения и проверки логического значения с помощью has. Наборы не являются массивами, потому что здесь нет упорядочивания, поскольку массивы являются упорядоченными списками.
//declare the Set const mySet = new Set() //Convert Set to Array const myArray = Array.from(mySet); //can chain the values with .add and .delete/.clear const mySet = new Set(); //option 1 mySet.add(1).add(2).delete(1) //option 2 mySet.add(1) mySet.add(2) mySet.delete(1) mySet.has(1); //false mySet.clear(); //empties set //remove duplicates const arr = [1, 1, 1, 2, 3, 4, 5] const unique = [...new Set(arr)] // unique = [1, 2, 3, 4, 5]
Раздел ресурсов (ниже) содержит информацию, выделенную в этом блоге. Помня, что Google может использовать объекты, массивы, карты и наборы при работе со структурами данных и их типами данных в JavaScript. Если это помогает, возьмите то, что применимо к выбранному вами языку (языкам) программирования, а затем позвольте остальному летать. В соответствии с вашими умственными способностями понять значение карты и набора.
Ресурс:
Https://www.better.dev/objects-and-arrays
Https://medium.com/geekculture/should-you-use-javascript-maps-and-sets-1660647b55da
Https://www.taniarascia.com/understanding-map-and-set-javascript/