var permute = function(nums) {
let list=[];
generate=function(flag,result){
if(flag===nums.length){
list.push(result);//add something to list
return ;
}
//同位遍历
for(let i =0;i<nums.length;i++){
//skip重复
if(result.includes(nums[i])) continue;
result.push(nums[i]);
generate(flag+1,result);
//递归结束后弹出尾项
result.pop();
}
}
generate(0,[]);
console.log(list);//but it's empty
};
permute([1,2,3,4]);
我运行此代码,控制台结果为空。我很困惑。当我在generate函数中的控制台列表不为空时。