let result = [];
function backTrace(nums, trace) {
if(nums.length == trace.length) {
result.push(trace.slice(0));
return
}
for(let index in nums) {
let num = nums[index];
let numInTrace = false
for(let j in trace) {
if( num == trace[j]) {
numInTrace = true
}
}
if(numInTrace) continue
trace.push(num)
backTrace(nums, trace)
trace.pop()
}
}
function permut(nums) {
backTrace(nums, []);
return result;
}
permut([1,2])
console.log(result)