Показать сообщение отдельно
  #2 (permalink)  
Старый 13.12.2017, 11:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

shoopik, в цикле пробежаться по массиву не пробовали?
var data,//Текущие данные
	new_data,//Новые данные
	indexed_data={};//id=>item
	
data.forEach(function(item){
	indexed_data[item.id]=item;
});
data=new_data.map(function(item){
	var old_item=indexed_data[item.id]||false;

    if(!old_item)//Is new item
		return item;

	['latitude','longitude'].forEach(function(key){//Update fields
		if(item[key]!=old_item[key])
			old_item[key]=item[key];
	});
	
	return old_item;
});

Последний раз редактировалось Nexus, 13.12.2017 в 16:26.
Ответить с цитированием