我試圖做一個函數,使所有可能的排列數組不重複的字符在給定的數組中。問題是,在遞歸調用recur()時,for循環的其餘部分不會執行,因此var總數由1個字符串組成。在遞歸函數調用後執行循環停止 - javascript
function recur(arr,wordArr) {
if(arr.length == 0) {
total.push(wordArr);
} else {
for(var i = 0;i < arr.length;i++) {
var temp = arr;
var newwordArr = wordArr;
newwordArr += temp.splice(i, 1);
recur(temp,newwordArr);
}
}
}
var arr = "abc".split("");
var total = [];
recur(arr,'');
console.log(total);
調用RECUR([A,B], '')應該總= [ 'AB', '巴']
也有一些是我沒有看到或什麼,我想要做的根本就是不允許的。無法找到答案,甚至我做了很多搜索。
我已經刪除了我的答案,因爲它是不夠的,你需要的東西。但是這裏是一個SO問題](HTTPS ://stackoverflow.com/questions/39927452/recursively-print-all-permutations-of-a-string-javascript),做你想做的事情。看看它是否可以複製結果/調整代碼。 – Kevin
@凱文感謝您的幫助! – Manuel