Автор оригинала: FreeCodeCamp Community Member.
Карта Объект является относительно новым стандартным встроенным объектом, который содержит [ключ, значение] пары в том порядке, что они вставлены.
Клавиши и значения в Карта Объект может быть любое значение (как объекты, так и примитивные значения действительны).
Синтаксис
new Map([iterable])
Параметры
ИТЕРИТЕЛЬНО Массив или другой ITERABLE объект, элементы которого являются пары ключа-значения.
Пример
const myMap = new Map();
myMap.set('foo', 1);
myMap.set('bar', 2);
myMap.set('baz', 3);
myMap.get('foo'); // returns 1
myMap.get('baz'); // returns 3
myMap.get('hihi'); // return undefined
myMap.size; // 3
console.log(myMap); // Map { 'foo' => 1, 'bar' => 2, 'baz' => 3 }Легко создать новый Карта Из существующих 2D массивов пар клавишных пар:
const myArr = [['foo', 1], ['bar', 2], ['baz', 3]];
const arrMap = new Map(myArr);
console.log(arrMap); // Map { 'foo' => 1, 'bar' => 2, 'baz' => 3 }Вы также можете преобразовать объект в Карта С помощью Object.entries :
const myObj = {
foo: 1,
bar: 2,
baz: 3
}
const objMap = new Map(Object.entries(myObj));
console.log(objMap); // Map { 'foo' => 1, 'bar' => 2, 'baz' => 3 }Map.prototype.get.get.
Возвращает значение указанного ключа из A Карта объект.
Синтаксис
myMap.get(key);
Параметры
ключ Необходимый.
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
myMap.get('foo'); // returns 1
myMap.get('baz'); // returns 3
myMap.get('hihi'); // return undefinedMap.prototype.Set.
Устанавливает или обновляет элемент с указанным ключом и значением в A Карта объект. Установить () Метод также возвращает Карта объект.
Синтаксис
myMap.set(key, value);
Параметры
- ключ Необходимый
- ценность Необходимый
Пример
const myMap = new Map();
// sets new elements
myMap.set('foo', 1);
myMap.set('bar', 2);
myMap.set('baz', 3);
// Updates an existing element
myMap.set('foo', 100);
myMap.get('foo'); // returns 100Потому что Установить () Возвращает Карта Объект оно работал дальше, метод может быть легко прикован. Например, код выше может быть упрощен в:
const myMap = new Map();
// sets new elements
myMap.set('foo', 1)
.set('bar', 2)
.set('baz', 3)
.set('foo', 100); // Updates an existing element
myMap.get('foo'); // returns 100Map.prototype.size.
Возвращает количество элементов в Карта объект.
Синтаксис
myMap.size();
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
myMap.size(); // 3Map.prototype.keys.
Возвращает новый Итератор Объект, который содержит ключи для каждого элемента в Карта объект в порядке введения.
Синтаксис
myMap.keys()
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
const iterator = myMap.keys();
console.log(iterator.next().value); // 'foo'
console.log(iterator.next().value); // 'bar'
console.log(iterator.next().value); // 'baz'Map.prototype.values
Возвращает объект iTerator, который содержит значения для каждого элемента в Карта объект в порядке их вставлен.
Синтаксис
myMap.values()
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
const iterator = myMap.values();
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2
console.log(iterator.next().value); // 3Map.prototype.delete.
Удаляет указанный элемент из Карта объект. Возвращает, был ли ключ найден и успешно удален.
Синтаксис
myMap.delete(key);
Параметры
ключ Необходимый.
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
myMap.size(); // 3
myMap.has('foo'); // true;
myMap.delete('foo'); // Returns true. Successfully removed.
myMap.size(); // 2
myMap.has('foo'); // Returns false. The "foo" element is no longer present.Map.prototype.entries.
Возвращает новый Итератор Объект, который содержит [ключ, значение] Пары для каждого элемента в Карта объект в порядке введения.
Синтаксис
myMap.entries()
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
const iterator = myMap.entries();
console.log(iterator.next().value); // ['foo', 1]
console.log(iterator.next().value); // ['bar', 2]
console.log(iterator.next().value); // ['baz', 3]Map.prototype
Удаляет все элементы из Карта Объект и возврат undefined Отказ
Синтаксис
myMap.clear();
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
myMap.size(); // 3
myMap.has('foo'); // true;
myMap.clear();
myMap.size(); // 0
myMap.has('foo'); // falseMap.prototype.has.
Учитывая Карта С элементами внутри, имеет () Функция позволяет определить, существует ли элемент внутри карты, на основе ключа, который вы проходите.
имеет () Функция возвращает Логический примитивный (либо True или ложь ), что указывает на то, что карта содержит элемент или нет.
Вы проходите ключ Параметр к имеет () Функция, которая будет использоваться для поиска элемента с этим ключом внутри карты.
Пример:
// A simple Map
const campers = new Map();
// add some elements to the map
// each element's key is 'camp' and a number
campers.set('camp1', 'Bernardo');
campers.set('camp2', 'Andrea');
campers.set('camp3', 'Miguel');
// Now I want to know if there's an element
// with 'camp4' key:
campers.has('camp4');
// output is `false` Туристы Карта в настоящее время не имеет элемента с 'Camp4' ключ. Поэтому имеет ('Camp4') Функциональный звонок вернет ложь Отказ
// If we add an element with the 'camp4' key to the map
campers.set('camp4', 'Ana');
// and try looking for that key again
campers.has('camp4');
// output is `true`Поскольку карта сейчас имеет элемент с 'Camp4' Ключ, имеет ('Camp4') Функциональный звонок вернет правда этот раз!
В более реальном сценарии вы можете не вручную добавлять элементы на карту самостоятельно, поэтому имеет () Функция станет действительно полезной в этих случаях.
Map.prototype.foreach.
Выполняет пропущенную функцию на каждой паре клавишной пары в Карта объект. Возвращает undefined Отказ
Синтаксис
myMap.forEach(callback, thisArg)
Параметры
- Обратный вызов Функция для выполнения для каждого элемента.
- thisarg Значение для использования в качестве этого при выполнении обратного вызова.
Пример
const myMap = new Map();
myMap.set('foo',1);
myMap.set('bar',2);
myMap.set('baz',3);
function valueLogger(value) {
console.log(`${value}`);
}
myMap.forEach(valueLogger);
// 1
// 2
// 3Оригинал: “https://www.freecodecamp.org/news/javascript-standard-objects-maps/”