Добрый день! Хочу создать два массива объектов:
previous,
next. Из пхп будут приходить данные с некоторым таймаутом, данные имеют айдишники, которые я и хочу запоминать в этих массивах. Задача вроде бы простая. Записываем ответ в
next, сравниваем с
previous и в зависимости от последнего действия делаем
previous=next. Проблема вот в чем. При загрузке страницы(в первый раз) массив
previous пустой. Наверно лучше изложу вкратце в виде кода.
List={previous:{}, next:{}};
Res={
/*здесь определяются функции обращений к пхп,XMLHttpRequest() etc.*/,
answer: function(){
var key=0;List.next={};
for(/*здесь счетчик по i*/){
List.next[key]={attr1: ans[i],attr2:ans[i+1]};
key++;
}
var key1=0,key2=0;List.previous={};
for(key1 in List.previous){
union[key2]=List.previous[key1];//в первый раз undefined!
key2++;
}
var key3=0,key4=0;
for (key3 in List.next){
found=0;
for (key4 in union){
if (List.next[key3].attr1==union[key4].attr1){
union[key4]=List.next[key3];
found=1;
break;
}
}
if(found==0){
union[key2]=List.next[key4];
key2++;
}
}
var keyU=0,jj=0;List.previous={};
for (keyU in union){
if (/*некот. условие*/){
List.previous[jj]=union[keyU]; }else{}
}
На главной странице в методе onload вызывается метод объекта Res. Ну т.е., запрос к серверу, затем ответ обрабатывается функцией answer. Как правильно инициализировать объект previous?