javascript-for循环-退出循环-break&label标签

本文介绍了JavaScript中用于退出循环的三种方法:使用`break`关键字、`return`语句以及通过`label`标记来跳出多重循环。举例说明了它们在寻找数组中特定值时的应用,并展示了如何根据需求选择合适的退出机制。
摘要由CSDN通过智能技术生成

跳出循环是一个常见的应用场景,跳出循环的方法也不止一种。

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循环不会被跳出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值