数组全排列
const fullPermutate= function(a) { if (a.length === 1) { return [a]; } if (a.length === 2){ return [[a[0],a[1]], [a[1],a[0]]]; } let first; let rest; let res = []; for (let i = 0; i < a.length; i++){ first = a[i]; rest = [...a.slice(0, i),...a.slice(i+1)]; let arr = sort(rest); for (let j = 0; j < arr.length; j++){ res.push([first, ...arr[j]]); } } return res; }