Приднестровская поддержка XOOPS
Основным отличием ассоциативных массивов от обычных является возможность обращения к элементу массива не по числовому индексу, а по индексу, представляющему собой строку.
var Mass = new Array();
Mass["Один"] = 1;
Mass["Два"] = 2;
Mass["Три"] = 3;
document.write(Mass["Один"]); // 1
Как вывести все элементы массива? Ни один из методов класса Array не позволяет вывести элементы ассоциативного массива. Кстати, свойство length также не работает. По этой причине перебрать все элементы массива с помощью стандартного цикла for не получится.
Для этой цели существует специальный цикл for...in. Он имеет следующий формат:
for (<Переменкая> in <Экземпляр класса>) {
<Тело цикла>
}
Цикл for...in на каждой итерации присваивает <переменной> имя свойства, с помощью которого можно получить значение соответствующего элемента ассоциативного массива:
var Mass = new Array();
Mass["Один"] = 1;
Mass["Два"] = 2;
Mass["Три"] = 3;
for (var Name in Mass) {
// Переменной Name на каждой итерации присваивается
// строка-индекс ассоциативного массива
document.write(Name + " = " + Mass[Name] + "<br>");
}
В итоге мы получим следующий результат:
Один = 1
Два = 2
Три = 3
Ассоциативные массивы используются также для доступа к свойствам класса вместо классической точки. Для получения длины строки ранее мы обращались к свойству length класса string следующим образом:
var Str = "Hello, world ";
document.write(Str.length); // 13
С помощью ассоциативных массивов обращение к свойству length будет выглядеть так:
var Str = "Hello, world ";
document.write(Str["length"]); // 13
Отправитель | Нити |
---|
8 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 8 далее... |