Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с элементами массива 
:(
    Опции темы
krinart
Дата 3.9.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 10.4.2008
Где: Донецк

Репутация: нет
Всего: нет



добрый вечер... столкнулся я с проблемой, о которой вобщем даже писать смешно.... вот есть у меня такой участок кода

Код

i= 0;    
    
    for(var iHero= 0; iHero<Heroes.length; iHero++)
    {            
        for(iUnit= 0; iUnit<Heroes[iHero].heroUnit.length; iUnit++)
        {            
            // создадим запись в таблице Units            
            Units[i]= new Array();
            Units[i]= UnitsTable[Heroes[iHero].heroUnit[iUnit]];

            // добавим id героя-хозяина
            Units[i].heroID= iHero;
            
            
            Units[i].coord= new Array();    // обяъвим массив координат клетки юнита
            Units[i].coord.left= -1;                // x- координата
            Units[i].coord.top= -1;        // y- координата
                    
            
            // вместо id заготовки юнита в таблицу Heroes впишем id созданного юнита
            
            Heroes[iHero].heroUnit[iUnit]= i;
            i++;            
        }                
    }


здесь из таблицы UnitsTable, где хранятся шаблоны юнитов, выбирается нужный и всталяется в таблицу Units, а id этой записи заносится в массив юнитов героя

и всё бы ничего, но есть одна загвоздка, измение какогонибудь поля в строке любого элемента, почемуто меняет все остальные, в которых поле unitID совпадает
напрмер есть такой участок кода

Units[1].coord.left= 220;

после этого поле coord.left становится равным 220 у всех элементов, у которых поле 
unitID== Units[1].unitID

я часа два бился над этой проблемой, так и не смог решить её... надеюсь только на вашу помощь
PM MAIL ICQ   Вверх
timon1410
Дата 9.9.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



замените 
Код

new Array()
 на 
Код

new Object()
.

Если интересно почему, то читайте чем различаются в яваскрипте массивы и объекты(хеши)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.