2011-09-25 87 views
2

由於發現了this有趣的問題,我決定在JavaScript中編寫一個實現邏輯並將其提供回問題的示例。問題是我在執行邏輯時遇到了一些問題。我可以說Ruby,這是我基於我的實現,但我有一個無盡的while循環問題,我有麻煩整理。在JavaScript中實現URL縮短邏輯

我整個實現了對js.do.it這裏:http://jsdo.it/rfkrocktk/k9Jq

function encode(i) { 
    if (i == 0) return DICTIONARY[0]; 

    var result = ''; 
    var base = DICTIONARY.length; 

    while (i > 0) { 
     result += DICTIONARY[i % base]; 
     i = i/base; 
    } 

    result = result.reverse(); 
    return result; 
} 

什麼我錯在這裏做什麼?

+0

'/'可能沒有達到你所期望的。 '1/2 => 0.5' – numbers1311407

回答

1

JavaScript默認使用浮點數學運算。使用i = Math.floor(i/base);

+0

這絕對是問題之一,修正了它。 –