Map

Đánh giá của các nhà môi giới tùy chọn nhị phân tốt nhất:
  • Binarium
    Binarium

    Các nhà môi giới tùy chọn nhị phân tốt nhất! Đào tạo miễn phí và tài khoản demo!
    Đăng ký tiền thưởng!

  • Binomo
    Binomo

    Vị trí thứ 2 trong bảng xếp hạng!

OpenStreetMap является картой мира, созданной такими же людьми, как и вы, и может свободно использоваться под открытой лицензией.

Хостинг поддерживается UCL, Bytemark Hosting и другими партнёрами.

Объект Map содержит пары ключ-значение и сохраняет порядок вставки. Любое значение (как объекты, так и примитивы) могут быть использованы в качестве ключей.

Синтаксис

Параметры

Описание

Объект Map итерируется в порядке вставки его элементов — цикл for. of будет возвращать массив [key, value] на каждой итерации.

Key equality

Сравнение ключей основано на алгоритме “SameValueZero”: NaN равно NaN (несмотря на то, что NaN !== NaN ), все другие значения рассматриваются равными исходя из семантики оператора строгого равенства === . В текущей спецификации ECMAScript -0 и +0 принимаются равными, но в ранних версиях обсуждения это было не так (см. “Value equality for -0 and 0” в таблице совместимости с браузерами).

Сравнение Объектов и Map

Объекты похожи на Map в том, что оба позволяют устанавливать значения по ключам, получать эти значения, удалять ключи и проверять их наличие. В связи с этим (и потому, что не было встроенных альтернатив), Объекты исторически использовались как Map . Однако, у них есть ряд отличий, который дает преимущества Map в ряде случаев:

  • Ключами Объекта выступают Строки и Символы , в то время как любое значение может быть ключом Map , включая функции , объекты и примитивы.
  • В отличие от Объектов , ключи в Map упорядочены. Таким образом, во время итерации Map , ключи возвращаются в порядке вставки.
  • Вы легко можете получить количество элементов в Map с помощью свойства size , в то время как количество элементов Объекта может быть определено только вручную.
  • Map – итерируемый объект и может быть итерирован напрямую, в то время как Объект требует ручного получения списка ключей и их итерации.
  • Объект имеет прототип и поэтому имеет стандартный набор ключей, который, при неосторожности, может пересекаться с вашими ключами. С момента выхода ES5 это может быть изменено с помощью map = Object.create(null) .
  • Map может иметь более высокую производительность в случаях частого добавления или удаления ключей.

Свойства

Экземпляры Map

Все экземпляры Map наследуются от Map.prototype .

Свойства

Методы

Примеры

Использование объекта Map

Использование NaN в качестве ключей Map

NaN может быть использован в качестве ключа. Несмотря на то, что NaN не равен самому себе ( NaN !== NaN вернёт true), следующий пример работает, потому что NaN обрабатывается особым образом:

Đánh giá của các nhà môi giới tùy chọn nhị phân tốt nhất:
  • Binarium
    Binarium

    Các nhà môi giới tùy chọn nhị phân tốt nhất! Đào tạo miễn phí và tài khoản demo!
    Đăng ký tiền thưởng!

  • Binomo
    Binomo

    Vị trí thứ 2 trong bảng xếp hạng!

Итерация Map при помощи for..of

Map может быть итерирован с помощью for..of :

Итерация Map при помощи forEach()

Map может быть итерирован с помощью метода forEach() :

Взаимоотношения с объектом Array

Клонирование и сляние Map

Равно как и Массивы , Map могут быть клонированы:

Следует помнить, что данные не клонируются.

Map могут быть слиты, с сохранением уникальности ключей:

Đánh giá của các nhà môi giới tùy chọn nhị phân tốt nhất:
  • Binarium
    Binarium

    Các nhà môi giới tùy chọn nhị phân tốt nhất! Đào tạo miễn phí và tài khoản demo!
    Đăng ký tiền thưởng!

  • Binomo
    Binomo

    Vị trí thứ 2 trong bảng xếp hạng!

Đầu tư tiền vào đâu
Trả lời

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: