![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Пытаюсь заполнить массив, в первом кадре ролика пишу:
UserAnswers = new Array(); далее в ролике при нажатии определенной кнопки пишу: on (release) { _root.UserAnswers[this._name] = 1; } Значения присваиваются верно, но при трейсе массива я не вижу его структуры, просто выводятся значения элементов, можно как-то вывести не только значения, но и ключи, нечто вроде такого: $key => $value ? Последний раз редактировалось Krisha; 26.12.2003 в 14:10. |
|
|||||
|
UserAnswers = new Object();
И все тебе будет. Обращение к элементу такое: UserAnswers.Key или UserAnswers["Key"] Опрос списка: for (Name in UserAnswers) { trace(Name+" "+UserAnswers[Name]); }
__________________
Avete, alieni, nos morituri vos sperminus |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
по большому счету абсолютно по барабану как именно объявить переменную - как объект или как массив. обращения типа UserAnswers["Key"] будут работать по-любому... 2Krisha если в массиве есть хоть один элемент, ключ которого не числовой, то не будет работать свойство Array.length, а следовательно и все методы, которые на этом свойстве завязаны. вернее - работать то оно будет, но не будет учитывать элементы с ассоциативными ключами. совсем. а так - не важно как именно объявить такой объект. еще одна особенность - если объявить ассоциативный массив как new Array, то будет работать операция toString, но выводить она будет только элементы без ассоциативных ключей. (см. пример) Последний раз редактировалось Nox Noctis; 26.12.2003 в 16:47. |
|
|||||
|
Угу. Моя голова - мой пепел.
Можно и массивом задавать. Но как-то это не по-флешерски. ![]() UserAnswers = new Array(); UserAnswers[0] = 0; UserAnswers["A"] = 1; UserAnswers["B"] = 1; UserAnswers["C"] = 1; UserAnswers["D"] = 1; UserAnswers[1] = 0; trace(UserAnswers.length); возвращает 2. Переменные: Variable _level0.UserAnswers = [object #1, class 'Array'] [ 0:0, 1:0, A:1, B:1, C:1, D:1 ] Вообще-то все логично. Либо что-то где-то как-то, либо я не понял вопроса. ![]()
__________________
Avete, alieni, nos morituri vos sperminus |
|
|||||
|
Nox Noctis
Спасибо за подробное объяснение, из вышеизложенного сделал вывод, что лучше хранить данные так: myArray[0] = array ("A","1"); myArray[1] = array ("B","1"); myArray[2] = array ("C","0"); myArray[3] = array ("D","0"); |
|
|||||
|
Если Array.length - критично, то да.
__________________
Avete, alieni, nos morituri vos sperminus |
![]() |
Часовой пояс GMT +4, время: 23:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|