Массив данных, добавление по индексу
Прошу помочь решить задачу , суть такова. Пишу приложение на Jquery Mobile и PhoneGap... Сервер написан на JSON PHP PDO (Общение проходит по принципу client(POST)->server(JSON)->client
В теории есть задача, получить новости с сервера и записать в массив ClientData.NewsClient.cache , дабы клиент работал как бы "быстро" и не грузил уже загруженные новости с сервера заново ... При кодировании получаю новости с сервера и пытаюсь записать в массив в итоге записывается только последнее значение не смотря на то что Индекс присутствует Очень прошу помочь , не хватает тяги ... или дайте толчок в какую сторону копать? При выводе отладки: alert(ClientData.NewsClient.cache[0]);// не чего не выводит alert(ClientData.NewsClient.cache[1]);// выводит инфу из функции записи кэша |
Есть подозрение, что вы не понимаете вообще базовый синтаксис javascript. Что "=" - это операция присваивания а ни раз не добавления или изменения.
Увы в современном js уже можно всё обвешать сеттерами и геттерами, и тогда такой код будет рабочим, потому уверенно это утверждать я не могу. Проверить просто: если сеттеры и геттеры в js вам ни о чём не говорят - значит всё плохо. Начните с прочтения первых глав учебника. Иначе хз, разбираться с написанной подобным образом библиотекой нет никакого желания. |
Цитата:
var ClientData = { NewsClient: { update: '', cache: {} } }); Допусти я получил N-ое кол-во новостей в JSON формате и хочу записать их в глобальное хранение. var answerLength = 3; // кол-во новостей из JSON var arr = {}; // создал пустой объект for (var i = 0; i < answerLength; i++) { arr = ['index'+i]; } ClientData.NewsClient.cache = arr; хотя уже вроде сам понял как сделать |
Спасибо за помощь. Прошу закрыть тему.
PS : решение var arr = []; for (var i = 0; i < 3; i++) { arr.push([i,[s:'test'+i]]); } ClientData.NewsClient.cache = arr |
Woogy, это не решение(хоть и работает). Вы всё ещё нихрена не понимаете.
|
Часовой пояс GMT +3, время: 06:52. |