我有一个循环
<nav class="navbar navbar-light">
<div class="navbar-header">
<button class="navbar-toggle navbar-toggle-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria="navbarSupportedContent" aria-expanded="false" aria-label="toggle navigation"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
</div>
<a class="navbar-brand" href="#">Retail Mobile</a>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="nav navbar-nav">
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" class="nav-item"><a [routerLink]="['/home']"><span class="glyphicon glyphicon-home"></span> Home</a></li>
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" class="nav-item"><a [routerLink]="['/checkBarcodes']"><span class="glyphicon glyphicon-barcode"></span> Check Barcodes</a></li>
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" class="nav-item"><a [routerLink]="['/stockTake']"><span class="glyphicon glyphicon-folder-open"></span> Stock Take</a></li>
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" class="nav-item"><a [routerLink]="['/settings']"><span class="glyphicon glyphicon-wrench"></span> Settings</a></li>
</ul>
</div>
</nav>
如何一次检查if语句是否为真三次?
答案 0 :(得分:4)
嗯,最简单的方法是在else
添加if
:
count = 0;
do
{
...
if (statement)
count++;
else
count = 0;
...
} while (count != 3);
然而,你冒着无限循环的风险,因为如果没有3个连续的真实陈述,你的计数永远不会是3。
答案 1 :(得分:3)
如果statement为false,您可以重置count。
if (statement)
count++;
else
count = 0;
另外,请注意如评论中所提到的,如果3个数字不连续出现,循环将永远不会退出。在if
块之外放置一个单独的变量来计算总迭代次数,并在while
条件下使用它。
答案 2 :(得分:0)
我认为这里不需要额外的计数器。你说你要连续3次检查(不强制执行)该陈述是真的。
count = 0;
var statementAlwaysTrue = true;
do
{
...
if (statement)
count++;
else
statementAlwaysTrue = false;
...
} while (count != 3);
循环结束后,您可以评估statementAlwaysTrue
。我显然会考虑根据statement
的任何内容重命名。