简体   繁体   中英

Implementing URL shortener logic in JavaScript

As a result of finding this interesting question, I decided to write an example in JavaScript which implemented the logic and contribute it back to the question. The problem is that I'm having some issues implementing the logic. I can speak Ruby which is what I'm basing my implementation on, but I'm having an issue with an endless while loop which I'm having trouble sorting out.

I have the whole implementation up on js.do.it here: 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;
}

What am I doing wrong here?

Javascript uses floating point math by default. Use i = Math.floor(i / base);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM