我有以下C
功能:的Javascript:請幫我轉換這個C函數的Javascript
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;
}
定義「不工作」。 –
嘿,當我添加零到「str」時,它只是將一個字符「0」添加到我的str ... – Eamorr
*「不工作」* - 某些短語需要禁止在SO上。 – RedFilter