У меня есть следующая C
функция:
unsigned int DJBHash(char* str, unsigned int len)
{
unsigned int hash = 5381;
unsigned int i = 0;
for(i = 0; i < len; str++, i++)
{
hash = ((hash << 5) + hash) + (*str);
}
return hash;
}
Я пытаюсь преобразовать ее в Javascript.У меня проблемы с (*str)
частью строки 8
(`hash=((hash << 5) + hash) + (*str)`).
Как мне эффективно преобразовать мою строку javascript
в то же представление, что и в C
?
Вот что я сделал, софар, но он не работает: когда я добавляю ноль к "str", он просто добавляет символ "0" к моей str.Что я делаю не так?
function DJBHash(str,len){
var hash=5381;
var i=0;
for(i=0;i<len;i++){
hash=((hash<<5)+hash)+(str+0);
}
return hash;
}