Home | О проекте | Новости | Рекламные статейки

ВернутьсяВ начало

1.Рекламка: s |

Dictionary NN n/a   IE 4.0   ECMA n/a
2.Рекламка: s | ;
x |   

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

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

var d = new ActiveXObject("Scripting.Dictionary"); // Создаем словарь d
d.Add("а", "Архангельск"); // Добавляем несколько пар
d.Add("б", "Баку");
d.Add("в", "Воронеж");
var a = (new VBArray(d.Keys())).toArray(); // Извлекаем массив ключей
var s = "";
for (var i = 0; i < d.Count; i++) // Просматриваем словарь
s += a[i] + " - " + d(a[i]) + "<br>";
document.write(s); // Выводим на экран результат

Объект Dictionary реализован как управляющий элемент ActiveX, интегрированный в библиотеку типов исполняющей системы JScript.

 
Создание:

new ActiveXObject("Scripting.Dictionary")


Свойства:


CompareMode NN n/a   IE 4.0   ECMA n/a
  Чтение/изменение
 

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

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

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

 

Пример:
var d = new ActiveXObject("Scripting.Dictionary");
d.CompareMode = 0; // различать строчные и прописные буквы в ключах
d.Add ("а", "ааа");
d.Add ("А", "ААА");
document.write(d.Item("а"));

 
Возвращаемое значение:
Строка

Count NN n/a   IE 4.0   ECMA n/a
  Только чтение
 

Значением свойства Count является размер объекта, т. е. количество содержащихся в нем пар key/value.

 
Возвращаемое значение:
Целое положительное число

Item NN n/a   IE 4.0   ECMA n/a
  Чтение/изменение
 

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

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

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

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

Пример:
var d = new ActiveXObject("Scripting.Dictionary");
d.Add("а", "Архангельск");
d.Add("б", "Баку");
d.Add("в", "Воронеж");
d.Item("г") = "Гомель";
document.write(d.Item("г"));

 
Возвращаемое значение:
Строка

Key NN n/a   IE 4.0   ECMA n/a
  Только изменение
 

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

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

Пример:
var d = new ActiveXObject("Scripting.Dictionary");
d.Add("а", "Архангельск");
d.Add("б", "Баку");
d.Add("в", "Воронеж");
d.Key("а") = "ар";
document.write(d.Item("ар"));

 
Возвращаемое значение:
Нет

Методы:


Add() NN n/a   IE 4.0   ECMA n/a
some_dictionary_object.Add(key, value)  
 

Метод Add добавляет в словарь some_dictionary_object новую пару key/value. Если данный ключ уже имеется в словаре, то возникает ошибка.

 
Возвращаемое значение
Нет
 
Параметры
key ключ создаваемой пары
value соответствующее значение

Exists() NN n/a   IE 4.0   ECMA n/a
some_dictionary_object.Exists(key)  
 

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

 
Возвращаемое значение
Булево значение
 
Параметры
key выражение, задающее искомый ключ

Items() NN n/a   IE 4.0   ECMA n/a
   
 

Метод Items возвращает массив значений словаря объект. Возвращаемый массив имеет формат VBScript

 
Возвращаемое значение
Массив VBScript
 
Параметры
Нет

Keys() NN n/a   IE 4.0   ECMA n/a
   
 

Метод Keys возвращает массив ключей словаря объект. Возвращаемый массив имеет формат VBScript

 
Возвращаемое значение
Массив VBScript
 
Параметры
Нет

Remove() NN n/a   IE 4.0   ECMA n/a
some_dictionary_object.Remove(key)  
 

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

 
Возвращаемое значение
Нет
 
Параметры
key Искомый ключ

RemoveAll() NN n/a   IE 4.0   ECMA n/a
some_dictionary_object.RemoveAll()  
 

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

 
Возвращаемое значение
Ничего
 
Параметры
Нет

footer:
Rambler's Top100