Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.12.2017, 18:52
Аспирант
Отправить личное сообщение для shoopik Посмотреть профиль Найти все сообщения от shoopik
 
Регистрация: 02.07.2017
Сообщений: 83

Сообщение от Dilettante_Pro Посмотреть сообщение
shoopik,

Вы можете по условию if(item[key]!=old_item[key])
делать не только присвоение, а и запустить функцию изменения координат
но в итоге же создаётся новый объект old_item, и он возвращается, за счет чего идет перерисовка а не присвоение ? не пойму
Ответить с цитированием
  #12 (permalink)  
Старый 13.12.2017, 20:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

Сообщение от shoopik
Получается здесь всё равно идёт присвоение, ну т.е. на место старого массива, встаёт копия. Старый же заменяется ?
Старый не заменяется, а изменяется.
Ответить с цитированием
  #13 (permalink)  
Старый 13.12.2017, 20:12
Аспирант
Отправить личное сообщение для shoopik Посмотреть профиль Найти все сообщения от shoopik
 
Регистрация: 02.07.2017
Сообщений: 83

Сообщение от Nexus Посмотреть сообщение
Старый не заменяется, а изменяется.
Где мне можно прочитать объяснение этому ?
Ответить с цитированием
  #14 (permalink)  
Старый 13.12.2017, 20:16
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

shoopik, даже не знаю.
Достаточно просто разобраться, что скрипт делает.
Из массива new_data создается новый массив data, который содержит как новые элементы из массива new_data, так и измененные элементы массива data, если в массивах data и new_data были элементы с одинаковыми id.
Ответить с цитированием
  #15 (permalink)  
Старый 13.12.2017, 20:22
Аспирант
Отправить личное сообщение для shoopik Посмотреть профиль Найти все сообщения от shoopik
 
Регистрация: 02.07.2017
Сообщений: 83

Сообщение от Nexus
создается новый массив data
ага, так всё-таки создаётся ?))
Ответить с цитированием
  #16 (permalink)  
Старый 14.12.2017, 09:27
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

shoopik, массив фактически другой, но элементы - измененные старые, к которым добавились новые.
Так что можно сказать, что это старый массив, который подвергся изменению.
Какой-то разницы быть не может, если данные хранятся в обычном массиве.
Ответить с цитированием
  #17 (permalink)  
Старый 14.12.2017, 10:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

shoopik,
Вы лучше конкретизируйте, какой результат вам нужен в итоге - что, где и по какой причине должно меняться.
Каким образом, на основании чего идет перерисовка?
Ответить с цитированием
  #18 (permalink)  
Старый 14.12.2017, 11:12
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,004

Судя по посту №9 в этом топике, автору нужен "виртуальный ДОМ" или типа того.
Ответить с цитированием
  #19 (permalink)  
Старый 14.12.2017, 17:19
Аспирант
Отправить личное сообщение для shoopik Посмотреть профиль Найти все сообщения от shoopik
 
Регистрация: 02.07.2017
Сообщений: 83

Сообщение от Dilettante_Pro Посмотреть сообщение
shoopik,
Вы лучше конкретизируйте, какой результат вам нужен в итоге - что, где и по какой причине должно меняться.
Каким образом, на основании чего идет перерисовка?
ну т.е. есть объекты в старом массиве типа {id: user1, lat: 55.66}, и если с сервера приходит массив с таким же айди, то в локальном массиве, именно в этом объекте должен поменяться только lat, т.е. не переприсвоение, а именно в том старом объекте, ну и соответственно если с сервера приходит объект с айди которого нет в локальном, он пушиться в локальный, а если в локальном есть лишний объект, он удаляется
Зачем это всё ? Т.е. при отрисовке, если подменять массив, то если выбран(выделен, захвачен) какой-то отрисованный объект, он пропадает из выделения, нужно менять именно в старом
Ответить с цитированием
  #20 (permalink)  
Старый 14.12.2017, 17:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

shoopik,
Еще раз:
Каким образом, на основании чего идет перерисовка?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение значений массивов в мини-игре Cubbat Общие вопросы Javascript 2 18.10.2016 08:13
сравнение элементов массивов cajiamahdpa Общие вопросы Javascript 1 17.10.2016 11:29
Сравнение 2 массивов в each Vladislav306907 jQuery 1 23.06.2016 01:10
Сравнение элементов массивов nesfiraty Общие вопросы Javascript 20 13.01.2015 19:23
сравнение массивов bot87 Общие вопросы Javascript 4 22.09.2012 01:31