Словарь — это структура данных, в которой данные хранятся в парах ключ-значение. Он используется для хранения и эффективного извлечения данных. Он позволяет хранить и извлекать данные, используя пары ключ-значение. В отличие от массивов, которые хранят данные в линейном порядке, словари в JavaScript позволяют получать доступ к данным, используя уникальный ключ, а не индекс. Это делает словари идеальными для хранения данных, доступ к которым должен быть быстрым и понятным, таких как база данных пользователей или список продуктов.

Рассмотрим следующее:

  • Создайте словарь тремя различными способами
  • Добавьте пару ключ-значение в словарь
  • Обновите значение для ключа
  • Доступ к элементам из словаря
  • Получение всех ключей словаря
  • Получение всех значений из словаря
  • Получение длины словаря

Словари: объект Dictionary

Объект Dictionary предназначен для создания словарей. Словарь в JScript аналогичен ассоциативному массиву языка PERL и представляет собой набор пар (ключ, значение). Значения могут быть данными любого типа. При этом каждое значение ассоциируется с уникальным ключом, который используется для его поиска и выборки из словаря. Обычно в качестве ключа используются числа или текстовые строки, хотя ключ может быть чем угодно, кроме массива. Конструктор объекта Dictionary имеет вид:

Следующий пример демонстрирует использование словаря:

Последний оператор этого примера выведет на экран обозревателя текст:

а — Архангельск
б — Баку
в — Воронеж

 

Свойства объекта Dictionary
Свойство Описание
CompareMode Способ сравнения ключей.
Count Количество элементов в словаре.
Item Значение, соответствующее ключу.
Key Изменяет значение ключа.
Методы объекта Dictionary
Метод Описание
Add Добавляет в словарь пару (ключ, значение).
Exists Проверяет наличие заданного ключа в словаре.
Items Возвращает массив значений словаря.
Keys Возвращает массив ключей словаря.
Remove Удаляет из словаря пару (ключ, значение).
RemoveAll Очищает словарь.
Свойство CompareMode

Свойство CompareMode позволяет задать способ сравнения текстовых ключей в словаре объект. Оно может принимать следующие значения:

0 Двоичное сравнение. Задает сравнение строк на основе порядка сортировки, определяемого внутренним двоичным представлением символов. В Windows порядок сортировки определяется кодовой страницей символов, например: A < B < E < Z < a < b < e < z < Б < Л < Ш < б < л < ш.
1 Текстовое сравнение. Задает сравнение строк без учета регистра символов на основе национальной настройки операционной системы. Тем же символам, что и выше, в этом случае соответствует следующий порядок: (A=a) < (B=b) < (E=e) < (Z=z) < (Б=б) < (Л=л) < (Ш=ш).
2 Сравнение на основе национальной настройки базы данных. В обозревателях не используется.

Значения, большие двух, могут использоваться для сравнения ключей в определенной кодировке символов и в этом случае они должны быть равны идентификатору кодировки (LCID).

Значение этого свойства может быть считано в любое время, но задается оно до занесения в словарь любых значений. Попытка задать способ сравнения ключей для непустого словаря приводит к ошибке исполнения. Пример:

Свойство Count

Значением свойства Count является размер объекта, т. е. количество содержащихся в нем пар (ключ, значение). Пример использования этого свойства приведен выше.

Свойство Item

Значением свойства Item является значение словаря объект, соответствующее ключу. Точнее говоря, при чтении этого свойства:

  • Если заданный ключ в словаре отсутствует, то создается новая пара с данным ключом и неопределенным значением и возвращается значение undefined.
  • Если заданный ключ в словаре есть, то возвращается ассоциированное с ним значение.

При задании нового значения этого свойства:

  • Если заданный ключ в словаре отсутствует, то создается новая пара с данным ключом и заданным значением.
  • Если заданный ключ в словаре есть, то ассоциированное с ним значение заменяется на заданное.

Например, следующий сценарий

выведет на экран обозревателя текст Гомель.

Свойство Key

Свойство Key используется для изменения ключа в словаре объект. При этом

  • Если заданный ключ в словаре отсутствует, то создается новая пара с ключом новый_ключ и неопределенным значением.
  • Если заданный ключ в словаре есть, то он заменяется на новый_ключ.

Чтение этого свойства невозможно. Например, следующий сценарий

выведет на экран обозревателя текст Архангельск.

Метод Add

Метод Add добавляет в словарь объект новую пару (ключ, значение). Если данный ключ уже имеется в словаре, то возникает ошибка. Примеры использования этого метода приведены выше.

Метод Exists

Метод Exists возвращает true, если ключ имеется в словаре объект и false в противном случае. Пример:

Метод Items

Метод Items возвращает массив значений словаря объект. Возвращаемый массив имеет формат VBScript, поэтому для его использования в JScript следует пользоваться приемом, указанным в следующем примере:

Последний оператор этого примера выведет на экран обозревателя текст Архангельск Баку Воронеж.

Метод Keys

Метод Keys возвращает массив ключей словаря объект. Возвращаемый массив имеет формат VBScript, поэтому для его использования в JScript следует пользоваться приемом, указанным в следующем примере:

Последний оператор этого примера выведет на экран обозревателя текст а б в.

Метод Remove

Метод Remove удаляет из словаря объект пару с заданным (ключом. Если данного ключа нет в словаре, то возникает ошибка. Пример:

Метод RemoveAll

Метод RemoveAll очищает словарь объект, т. е. удаляет из него все пары.

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *