将代码for (var i = 0; i < arr.length; i++) {,看成一次,比如取自第一个值,然后放入一个篮子中,然后执行剩下元素的递归
var permute = (arr) => {
if (!arr) return [];
var res = [];
f([]);
return res;
function f(brr) {
if (arr.length === brr.length) {
res.push(brr);
return;
}
for (var i = 0; i < arr.length; i++) {
var n = arr[i];
if (brr.includes(n)) continue;
f(brr.concat(n));
}
}
};