|
|
|||||
Регистрация: Dec 2009
Сообщений: 2
|
Проблема с массивами
Я новичок в AS3.
Задача такая: есть 2 массива, один - заполненный массив магазина - другой пустой массив склада. При нажатии на кнопку нужно добавлять в массив склада объекты магазина и проверять, нету ли совпадений. Причем добавлять только объекты у которых itemCount > 0. Если объект уже существует, то надо увеличивать его itemCount. Попробывал написать алгоритм но видимо опыта еще не хватает. Посмотрите пожалуйста, может быть опытному глазу сразу будут видны ошибки? btnTest.addEventListener(MouseEvent.CLICK,onClick) btnAdd.addEventListener(MouseEvent.CLICK,onAdd); var storeItems:Array = new Array(); var depotItems:Array = new Array(); for (var i:int =0; i<=3; i++) { var item:Object = new Object(); item.itemName="Jet"+i; item.itemCount=i; storeItems.push(item); } for each (var obj:Object in storeItems) { trace(obj.itemName+" | "+obj.itemCount); } function onClick(e:Event):void { if (depotItems.length==0) { for each (var item in storeItems) { if (item.itemCount>0) { depotItems.push(item); } } } else { for each (var store in storeItems) { if (store.itemCount>0) { for each (var depot in depotItems) { if (depot.itemName==store.itemName) { var count:int=store.itemCount; depot.itemCount=depot.itemCount+count; } } } } } trace("-------------Массив depotItems------------------"); for each (item in depotItems) { trace(item.itemName + "=" +item.itemCount); } trace("------------Массив storeItems-----------------"); for each (var item2 in storeItems) { trace(item2.itemName + "="+item2.itemCount); } trace("--------------------------------------"); } function onAdd(e:Event):void { var test:Object = new Object(); test.itemName="New"; test.itemCount=5; storeItems.push(test); } Последний раз редактировалось elGato; 23.01.2010 в 20:43. |
|
|||||
Регистрация: Dec 2009
Сообщений: 2
|
Всё сам нашёл решение, тему можно закрывать и удалять.
|
Часовой пояс GMT +4, время: 11:10. |
|
« Предыдущая тема | Следующая тема » |
|
|