Zerstoren
@Zerstoren

Как узнать хэш сумму объекта в JavaScript?

В общем стоит такая задача.


Есть объект (словарь) в котором содержатся произвольные данные, но не очень большие. Мне нужно узнать хэш сумму данного объекта.


Зачем мне это надо:

У меня есть карта, которая рисуется Чанками (куски 2048*1024 пикселя), пользователь может перемещать камеру по карте и довольно быстро. А каждые 5 секунд перерисовывать карту не интересно, нужно подключить кэширование и определять, не изменились ли какие-то объекты и их позиции.


Мысль наталкивает только на хэш суммы. Если вычисление хэш суммы будет более медлительным чем отрисовка такой карты, то тогда не имеет смысла вычислять хэш суммы объектов.
  • Вопрос задан
  • 6262 просмотра
Пригласить эксперта
Ответы на вопрос 1
Assorium
@Assorium
hash = function (str) {
	var hash = 0;
	var str = String(str);
	if (str.length == 0) return hash;
	for (i = 0; i < str.length; i++) {
		char = str.charCodeAt(i);
		hash = ((hash<<5)-hash)+char;
		hash = hash & hash; // Convert to 32bit integer
	}
	return hash;
}
Ответ написан
Ваш ответ на вопрос

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

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