Рекламное место №53
GUI среда для исполения JScript OR VBScript
Хэш - массивы в JScript

 

 

Хэши в JScript

Хэши являются одним из наиболее эффективных способов организации "словаря" - Dictionary. Хэш - обычный массив, с необычной адресацией, называемой хэш - функцией. Проще говоря, это массив, в котором вместо числового индекса используются текстовые строки.

Промежуточное решение

Хотя приведенный ниже фрагмент вполне работоспособен, он не является полноценным хэшем. В частности, свойство length массива не изменяется при добавлении "хеш - элементов":
<script language="JScript">
var dict = new Array()
    dict["First"] = 1
    dict["First 2"] = 2
// Выведем все ключи и элементы
for (var key in dict)
 document.writeln("dict[" + key + "]= " + dict[key])
</script>

Используем "Scripting.Dictionary"

Этот COM - объект позволяет легко подключить поддержку полноценных хэшей в локальные приложения на JScript (заметьте, не в Интернет - страницы):
var dict = new ActiveXObject("Scripting.Dictionary")
// Один из методов объекта - Add
    dict.Add("First",12)
    dict.Add("Last",24)
 
// Свойство CompareMode
    dict.ComparyMode = 0 //0 - бинарное сравнение, 1 - текстовое

// Свойство Count (read-only) - число элементов в хэше

// Свойство Item - позволяет получить или установить элемент 
// в хэш по его ключу (можно создавать новые элементы)
   dict.Item("Full") = 36

// Свойство Key позволяет изменить ключ у элемента
   dict.Key("Full") = "FIO"

// Метод Exists - проверить существование ключа true / false
   dict.Exists("FIO")

// Метод Items - возвращает необычный массив из элементов хэша
   var items = (new VBArray(dict.Items())).toArray();

// Аналогично Keys вернет необычный массив из ключей хэша
   var keys = (new VBArray(dict.Keys())).toArray();

// Метод Remove удаляет элемент с указанным ключом
   dict.Remove("FIO")

// Метод RemoveAll удаляет из хэша все элементы
   dict.RemoveAll()
Как организовать хэш в программе на JScript

Содержание