为什么return;不会跳出整个function?
来源:15-2 LeetCode:46. 全排列

蛋挞狂魔
2021-03-13
const backTrack = (path) => {
if(path.length === nums.length){
res.push(path);
return;
}
nums.forEach(n => {
if(path.includes(n)){ return;}
backTrack(path.concat(n));
})
};
为什么return之后还可以继续执行下面的循环体呢?
另外,调用时传入backtrack([])的参数是[] ,是因为path初始化为一个空数组吗?
写回答
2回答
-
泉白水
2021-05-01
因为forEach和for循环是不一样的,return实际上相当于for循环的continue
10 -
lewis
2021-03-14
return之后不会往后执行。因为我们有很多循环,return一个,其他还在run
00
相似问题