Показать сообщение отдельно
Старый 10.11.2010, 12:18
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 7  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Например так:
1) После прихода первой строки у нас формируется массив объектов вида
{type:0 , id:23 , _x:150 , y:75 , rest:false}
2) Когда приходит новая строка, мы получаем из нее массив объектов вида
{type:0 , id:23 , _x:150 , y:75}
3) Проверяем по id, присутствуют ли элементы из нового массива в старом. Если элемент присутствует, смотрим, нужно ли изменить его координаты и устанавливаем значение rest в true. Если элемента с таким id нет, то добавляем его в массив и опять-таки устанавливаем rest в true.
4) После перебора всех элементов второго массива, проходимся по первому массиву и удаляем все элементы, у которых rest == false.

P.S. Перед перебором очередной пришедшей строки, у всех элементов массива, разумеется, свойство rest нужно сбрасывать на false.


Последний раз редактировалось bav; 10.11.2010 в 12:20.