Я работаю над читателем книг.У меня есть переменная currentPostition, которая, как следует из ее названия, всегда знает, где в книге находится пользователь.Я пытаюсь создать историю местоположения пользователей, чтобы я мог добавить кнопку назад, как веб-браузер.Итак, в настройках у меня есть:
currentPostition; //this is a json object with book,chapter,page stored in it.
history = []; //array of json objects
Затем, когда пользователь перемещается (есть несколько различных типов навигации):
history.push(currentPostition); //save in history before updating currpos
//put new values in currentPosition
currentPostition.book = foo;
currentPostition.chapter = foo;
currentPostition.page = foo;
Пока все хорошо, верно?Ну проблема такая.Мой массив истории растет в длину, как и следовало ожидать.НО, каждая запись в массиве истории будет такой же, как последний объект, помещенный в массив.IE:
for (x=0;v<history.lenght;x++){
document.write(history[x].book+","+history[x].chapter+","+history[x].page+"<br />");
}
приведет к выводу что-то вроде
3rdBookPosition, 3rdChapterPosition, 3rdPagePosition 3rdBookPosition, 3rdChapterPosition, 3rdPagePosition 3rdBookPosition, 3rdChapterPosition, 3rdPagePosition
Итак, я в замешательстве, потому что ожидаю вывод типа:
1stBookPosition, 1stChapterPosition, 1stPagePosition 2ndBookPosition, 2ndChapterPosition, 2ndPagePosition 3rdBookPosition, 3rdChapterPosition, 3rdPagePosition
What amЯ делаю не так?К вашему сведению, я пробовал unshift
и history[history.length]
, а также в сети такие же результаты.
Заранее спасибо, Джев