Показать сообщение отдельно
Старый 10.09.2010, 21:25
MadEx вне форума Посмотреть профиль Отправить личное сообщение для MadEx Найти все сообщения от MadEx
  № 1  
Ответить с цитированием
MadEx

Регистрация: Dec 2005
Сообщений: 20
По умолчанию Проблема с массивом, помогите разобраться.

Имеется следующий код. Если в кратце - после загрузки внешнего xml функция записывает все данные из xml в массив. Каждый элемент массива -object.

После того как цикл выполнен, при обращении к любому из элементов массива возвращается значение последнего элемента.

Почему?
Код AS3:
var arrCatalog:Array = new Array();              
 
public function xmlColLoaded(e:Event) {
			var objCol:Object = new Object();
			colors = XML(colorsLoader.data);
 
			for each(var prop:XML in colors.color) {
				objCol.id = prop.id;
				objCol.image = prop.image.toString();
				objCol.items = new Array();
 
				arrCatalog.push(objCol); 
                                // Здесь всё выводится нормально: img1.jpg img2.jpg ... img8.jpg)
				trace(arrCatalog.length-1,arrCatalog[arrCatalog.length-1].image);
 
				}
 
                        for(var i=arrCatalog.length-1; i>=0;i--) {
                                // А тут уже будет выведено 8 раз img8.jpg
				trace(arrCatalog[i].image);
			}
 
		}