Показать сообщение отдельно
Старый 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.