Методы Map в JavaScript

  • Предыдущая страница JS Map
  • Следующая страница JS typeof

new Map()

Можно передать массив в метод new Map() Конструктор используется для создания Map:

например

// Создание Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

Попробуйте сами

Map.get()

можно использовать get() Метод получает значение ключа из Map:

например

fruits.get("apples");

Попробуйте сами

Map.set()

можно использовать set() Метод добавляет элемент в Map:

например

// Создание Map
const fruits = new Map();
// установить значение Map
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

Попробуйте сами

set() Метод также можно использовать для изменения существующего значения Map:

например

fruits.set("apples", 500);

Попробуйте сами

Map.size

size Свойство возвращает количество элементов в Map:

например

fruits.size;

Попробуйте сами

Map.delete()

delete() Метод удаляет один элемент из Map:

например

fruits.delete("apples");

Попробуйте сами

Map.clear()

clear() Метод удаляет все элементы из Map:

например

fruits.clear();

Попробуйте сами

Map.has()

Если ключ существует в Map:has() Метод возвращает true:

например

fruits.has("apples");

Попробуйте сами

Попробуйте следующий код:

fruits.delete("apples");
fruits.has("apples");

Попробуйте сами

Map.forEach()

forEach() Метод вызывает回调-функцию для каждого ключ-значение в Map:

например

// вывести все элементы
let text = "";
fruits.forEach(function(value, key) {
  text += key + ' = ' + value;
});

Попробуйте сами

Map.entries()

entries() Метод возвращает объект, содержащий [key, value] объект итератора:

например

// вывести все элементы
let text = "";
for (const x of fruits.entries()) {
  text += x;
}

Попробуйте сами

Map.keys()

keys() Метод возвращает объект итератора, содержащий ключи из Map:

например

// вывести все ключи
let text = "";
for (const x of fruits.keys()) {
  text += x;
}

Попробуйте сами

Map.values()

values() метод возвращает объект итератора, содержащий значения из Map:

например

// Вывод всех значений
let text = "";
for (const x of fruits.values()) {
  text += x;
}

Попробуйте сами

можно использовать values() метод суммирует значения в Map:

например

// Суммирование всех значений
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

Попробуйте сами

Объекты в качестве ключей

Совет:Возможность использовать объекты в качестве ключей — важная характеристика Map.

например

// Создание объектов
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Создание Map
const fruits = new Map();
// Добавление нового элемента в Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

Попробуйте сами

注意:ключ — это объект (apples), а не строка ("apples"):

например

fruits.get("apples"); // Возвращает undefined

Попробуйте сами

JavaScript Map.groupBy()

ES2024 добавил в JavaScript Map.groupBy() метод.

Map.groupBy() метод группирует элементы объекта по возвращаемому строковому значению обратной функции.

Map.groupBy() метод не изменяет исходный объект.

например

// Создание массива
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// Обратная функция для группировки
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// Группировка по количеству
const result = Map.groupBy(fruits, myCallback);

Попробуйте сами

Поддержка браузерами

Map.groupBy() Это функция ES2024.

С марта 2024 года все новые браузеры поддерживают эту функцию:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
Сентябрь 2023 года Сентябрь 2023 года Октябрь 2023 года Октябрь 2024 года Май 2023 года

Предупреждение:

Особенности ES2024 относительно новые.

В старых браузерах может потребоваться код замены (Polyfill).

Разница между Object.groupBy() и Map.groupBy()

Object.groupBy() и Map.groupBy() Разница заключается в:

Object.groupBy() Группировка элементов в объект JavaScript.

Map.groupBy() Группировка элементов в объект Map.

Полное руководство по Map

Для полной справки обратитесь к нашему:Руководство JavaScript Map.

Эта книга содержит описания и примеры всех свойств и методов Map.

  • Предыдущая страница JS Map
  • Следующая страница JS typeof