JSFiddle - React, Tailwind, and code Playground

by Göran Andersson

JavaScript

function tinyEncode(id) {

    var chars, code, value, adder;
    
    chars = 'abcdefghijklmnopqrstuvwxyz';

    if (id <= chars.length) {
        code = chars.substr(id - 1, 1);
    } else {
        id--;
        value = chars.length;
        adder = 0;
        while (id >= value * (chars.length + 1) + adder) {
            adder += value;
            value *= chars.length;
        }
        code = chars.substr(Math.floor((id - adder) / value) - 1, 1);
        id = (id - adder) % value;
        while (value > 1) {
            value = Math.floor(value / chars.length);
            code += chars.substr(Math.floor(id / value), 1);
            id = id % value;
        }
    }
    return code;
}

for (var i=1 ; i<200; i++) {
    $('body').append($('<div/>').text(tinyEncode(i)));
}