Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2011, 11:10
Denis_Pryanikov вне форума Посмотреть профиль Отправить личное сообщение для Denis_Pryanikov Найти все сообщения от Denis_Pryanikov
  № 1  
Ответить с цитированием
Denis_Pryanikov
 
Аватар для Denis_Pryanikov

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Question Сравнение массивов

Добрый день

Нужно сравнить два массива (обычный массив с массивом данных в XML по одному атрибуту). Т.е. выбрать повторяющиеся элементы и с ними уже дальше работать. Делаю так:
Код AS3:
var item : Array = new Array(1,3,5,6);
//так выглядит структура xml:
//таких строк 7. данные, разумеется, разные <WEAPON TITLE="sword1" ID="1" LINK="sword.png"></WEAPON>
for each(var i : Object in item) {
    if (weapon.WEAPON[i].@ID.indexOf(i) == -1) {
        trace('Найдено сходство, где item id = '+item[i]+', а weapon(xml).ID = '+weapon.WEAPON[i].@ID);
        //какие-то дальнейшие операции
    }
}
На выходе:
Найдено сходство, где item id = 3, а weapon(xml).ID = 2
Найдено сходство, где item id = 6, а weapon(xml).ID = 4
Найдено сходство, где item id = undefined, а weapon(xml).ID = 6
Найдено сходство, где item id = undefined, а weapon(xml).ID = 7
Как же так...
Если ставить == 0, то ничего не происходит. Подскажите.

Мини-вопрос: верна ли такая запись?
Код AS3:
weapon.WEAPON[i].@ID.indexOf(i)


Последний раз редактировалось Denis_Pryanikov; 20.09.2011 в 11:16.
Старый 20.09.2011, 11:51
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
наверное все-таки вам нужно проверять :
Код AS3:
weapon.WEAPON[i].@ID == i
, хотя вообще мне кажется вам нужно пробегать по xml а не по массиву
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 20.09.2011, 12:37
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
var item : Array =[1,3,5,6];
 
for(var i : int = 0; i < item.length; i++) {
    if (weapon.WEAPON.(@ID == i).length()) {
        //какие-то дальнейшие операции
    }
}
__________________
משיח לא בא
משיח גם לא מטלפן

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.