lavezzi1
@lavezzi1

Как сравнить массивы и найти новый элементы?

Здравствуйте. Прилетает по ajax массив сообщений, сохраняем его в переменную, через некоторой время прилетает опять массив по тому же адрессу, нужно сравнить есть ли новые items в нем, или все тоже самое. Как это лучше сделать? Вот массив https://jsfiddle.net/jzm3drq3/

Насколько я понимаю, нужно в первый раз сохранять массив и от него уже отталкиваться при следующем запросе. То есть как то сравнивать есть ли новые items, если есть пушить в сохраненный массив чтобы он отрисовывался. Поправьте пожалуйста, если не прав.
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Две операции при аяксе:
1. Начальная (полная) загрузка сообщений (сразу при загрузке страницы = инициализация пула сообщений и его заполнение с проверкой статуса прочтения из LocalStorage)
2. Инкрементальное обновление сообщений: пришло новое - добавили к себе в пул сообщений (ID+сообщение).

Когда прочли - записали ID и статус сообщения: прочитано/не прочитано в LocalStorage (также, дополнительно можно и серверу сообщить через AJAX, что клиентом изменён статус сообщения с ID таким-то...).
Это для гостя.

Но лучше - использовать залогиненного пользователя и базу данных, совместно с LocalStorage.
И все статусы прочитанных сообщений - хранить также и на сервере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы