【问题标题】:Else statement if condition in for loop doesn't go off [duplicate]如果 for 循环中的条件没有关闭,则 Else 语句 [重复]
【发布时间】:2018-02-08 03:26:33
【问题描述】:

我正在用 Javascript 编写一个简单的 for 循环。它可以工作,但现在我想向它添加一个选项,如果不满足 for 循环中的条件,它就会触发。如果我在 for 循环中放置一个 else 条件,它会被触发 'i' 次。我怎样才能让它着火? 'break' 不会起作用,因为它会完全停止 for 循环。如果条件满足,我如何使for循环检查'i'次,如果不满足'i'次,做一些事情。谢谢

onClickContact : function(component, event, helper){
  var accountInfo     = component.get('v.accountInfo');
  var mailTo          = component.get('v.mailTo');

  for ( var i = 0; i < mailTo.length; i++) {
   if ( mailTo[i].Country__c == Account.BillingCountry){
      window.location.href = mailTo[i].Mailto__c;
   } 
  }
 }

【问题讨论】:

  • 在 else 条件中写一个 break 语句,当你的条件满足时它会退出循环。
  • 在 else 语句中加上 break。
  • 很少有break;s 是你的朋友,其中许多是你的克星......
  • 你想完成什么? for 循环应该继续运行,else 应该只执行一次,还是应该在 else 条件执行后立即退出 for 循环?
  • 当你有比赛时只需returnfor 循环结束后,您可以处理其他情况。

标签: javascript for-loop


【解决方案1】:
onClickContact : function(component, event, helper){
  var accountInfo     = component.get('v.accountInfo');
  var mailTo          = component.get('v.mailTo');

  for ( var i = 0, var k = false; i < mailTo.length; i++) {
   if ( mailTo[i].Country__c == Account.BillingCountry){
      window.location.href = mailTo[i].Mailto__c;
      k = true;
   }
   if(i == mailTo.length-1 && !k) {
     /* your code if the condition isn't met at all.*/
   }
 }

【讨论】:

  • 这会在条件不满足一次时停止 for 循环。我希望 for 循环继续运行,如果没有满足 'i' 次,则执行其他操作
  • 'i' 次是什么意思。如我所见,“i”是一个变量。你是说对于其他一些常量说 'j' ,如果循环没有遇到 'j' 次,你应该打印一些东西吗?您可以在循环中使用计数器“j”和“i”。
  • @Ant 看代码。
  • 如果mailto.length为14,我想检查所有14个mailto是否满足条件。如果这 14 个都不满足条件,那么我想执行一些其他代码
  • 那么如果条件至少满足一次,就不想执行代码了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多