Просмотр полной версии : Вопросы по массивам в AS2
Здравствуйте!
Расскажите мне пожалуйста о некоторых особенностях работы с массивами. Я знаю несколько способов создания массива, с объявлением как var myar:Array = []; и через new Array(); тоже. Хотелось бы уточнить, можно ли записывать элементы массива по имени, и точно так же к ним обращаться? Ну, я имею в виду что-то следующего вида:
myar["var1"] = 15;
//
trace(myar["var1"]);
Также, хотелось бы узнать, есть ли принципиальная разница между хранением данных в массиве и хранением данных в объекте?
Большое спасибо за внимание!
1. Ассоциативные массивы в AS есть и повсеместно используются. Вы сами привели код (только не вижу объявление массива). Какие же у вас тогда вопросы?
2. По поводу второго. Полюбопытствуйте - недавняя тема в разделе AS3 (http://www.flasher.ru/forum/showthread.php?t=189917). Если начинаете изучать AS, то лучше начать сразу с актуального AS3, переходите на него. AS2 морально устарел, хотя он все же еще "в деле" и годится для не очень сложных проектов.
Замечания по оформлению темы:
1. В дальнейшем - вопросы лучше задавать по отдельности (при условии, что они все же не совсем об одной и той же вещи). На форуме действует правило "один вопрос - одна тема".
2. Заголовок темы должен соответствовать ее сути.
Полностью с вами согласен! Извините за неправильное оформление.
Почитал ту тему, а ещё нашёл вот это: http://stackoverflow.com/questions/1218920/create-an-associative-array-with-dynamic-keys-in-actionscript-2. Получается, что лучше для этих целей в AS2 использовать объекты, а не массивы. Точнее, что объекты в AS2 - это и есть ассоциативные массивы :). Спасибо за помощь!
Добавлено через 3 часа 15 минут
Скажите пожалуйста, а в AS2 есть аналог javascript-оператора in для определения вхождения элемента в массив без цикла?
В целом
for ( var q in OBJ ) trace( q+"="+OBJ[q] )
В частном
if ( array[q] != undefined && array[q] != null && array[q] !="" ) trace("Что-то там есть")
То есть - нету.
Скажите пожалуйста, а в AS2 есть аналог javascript-оператора in для определения вхождения элемента в массив без цикла? В javascript он определяет наличие индекса в массиве, судя по справке, так же, как и в AS3.
http://javascript.ru/in
PRO100Light
09.01.2013, 00:39
Мужики, не кидайте в меня сапогом... помогите упростить, не понимаю логику
_root.b1._currentframe == _root.b2._currentframe == _root.b3._currentframe == _root.b4._currentframe == _root.b5._currentframe == _root.b6._currentframe == _root.b7._currentframe == _root.b8._currentframe == _root.b9._currentframe == _root.b10._currentframe == _root.b11._currentframe == _root.b12._currentframe == _root.b13._currentframe == _root.b14._currentframe == _root.b15._currentframe == _root.b16._currentframe == 1
Пробовал через for но он берет последнее значение, а не все сразу...
trace(eclipse());
function eclipse():Boolean{
for(var i = 1; i<= 16; i++){
if(_root["b"+i]._currentframe != 1) return false;
}
return true;
}
PRO100Light, каким боком относится ваш вопрос к массивам и к упомянутым ТС вопросам?
Не надо валить все в одну кучу, нужно было создать свою тему.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.