javascript-for循环-退出循环-break&label标签
程序员文章站
2024-03-23 18:16:10
...
跳出循环是一个常见的应用场景,跳出循环的方法也不止一种。
var twoSum = function(nums, target) {
let a=0,b=0;
for(let i=0;i<nums.length;i++){
for(let j=0;j<nums.length;j++){
if(i!=j){
if(nums[i]+nums[j] === target){
a=i;b=j;
}
}
}
};
return [a,b];
};
console.log(twoSum([2,7,11,15],9));
上一段程序执行的话,有两种结果:[0,1]和[1,0],而最终结果是[1,0],也就是说后一个值覆盖前一个值,如果只想要前一个值,那么就需要使用循环程序退出机制。
退出循环的方法
break
var twoSum = function(nums) {
let a=0;
// nums数组
for(let i=0;i<nums.length;i++){
if(nums[i]===11){
a=i;
break;
}
};
return [a];
};
console.log(twoSum([2,7,11,11]));
结果:[2]
break只需要放在for循环体内即可。
return
var twoSum = function(nums) {
let a=0;
// nums数组
for(let i=0;i<nums.length;i++){
if(nums[i]===11){
a=i;
return [a];
}
};
};
console.log(twoSum([2,7,11,11]));
结果:[2]
碰到第一个11就return跳出循环,后面代码不再执行。return需放在function函数内。
利用label标记退出多重循环
var twoSum = function(nums, target) {
let a=0,b=0;
outer:
for(let i=0;i<nums.length;i++){
inner:
for(let j=0;j<nums.length;j++){
if(i!=j){
if(nums[i]+nums[j] === target){
a=i;b=j;
break outer;
}
}
}
};
return [a,b];
};
console.log(twoSum([2,7,11,15],9));
结果为:[ 0, 1 ]
如果break后跟inner,则第一层for循环不会被跳出。
下一篇: Python转码
推荐阅读
-
javascript-for循环-退出循环-break&label标签
-
Java标签Label,如何不使用continue和break跳出循环
-
深入浅析Java 循环中标签的作用
-
深入浅析Java 循环中标签的作用
-
mysql数据库存储过程游标循环,提前退出 博客分类: mysql 存储过程游标循环失败动态sql增加字段
-
freemarker中实现自定义标签(包含处理参数以及循环变量) 博客分类: Freemarker freemarkerJava
-
freemarker中实现自定义标签(包含处理参数以及循环变量) 博客分类: Freemarker freemarkerJava
-
BarTender条码标签怎么插入循环再生标志?
-
jQuery 循环遍历改变a标签的href(实例讲解)
-
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法,thinkphpvolist