Recursively druckt alle Permutationen eines Strings (Javascript)

Ich habe Versionen dieser Frage für andere Sprachen gesehen, aber nicht für JS.

Ist das in einer Funktion rekursiv möglich?

Ich verstehe, dass ich das erste Element in der Zeichenfolge nehmen und es dann an jede Lösung an die Rekursion im Rest der Zeichenfolge anhängen muss. Ich verstehe also logischerweise, wie die Rekursion ablaufen muss. Ich verstehe nur nicht, wie ich den ersten Buchstaben an jede der rekursiven Lösungen anhängen soll

var myString = "xyz";

function printPermut(inputString){
    var outputString;
    if(inputString.length === 0){
        return inputString;
    }
    if(inputString.length === 1){
        return inputString;
    }
    else{
       for(int i = 0; i<inputString.length(); i++){
           //something here like: 
           //outputString = outputString.concat(printPermut(inputString.slice(1))??
           //maybe store each unique permutation to an array or something?
       } 
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage