Permutations of a string

by Hari Menon

HTML

<pre id="output"></pre>

JavaScript

function getPermutations(str) {
    var len = str.length;
    var result = [];

    // Base Case
    if (len === 0) {
        result.push('');
        return result;
    }

    for (var i = 0; i < len; i++) {
        var before = str.substring(0, i);
        var after = str.substring(i + 1, len);
        var partials = getPermutations(before + after);

        for (var j = 0; j < partials.length; j++) {
            result.push(str.charAt(i) + partials[j]);
        }
    }
    return result;
}

document.querySelector('#output').innerHTML = getPermutations('abcdefgh').join('\n');