Javascript 在不工作的时候做
当数组当前值等于Javascript 在不工作的时候做,javascript,do-while,Javascript,Do While,当数组当前值等于0时,我想停止while循环。 我知道这是一个简单的代码,但我找不到错误 函数编号总和(输入阵列){ var numberSum=0, i=0, x; 做{ x=输入阵列[i++]; numberSum+=x; }而(x==0); 返回编号sum; } document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2]) 只需将比较更改为负面评估: 函数编号总和(输入阵列){ var numberS
0
时,我想停止while循环。
我知道这是一个简单的代码,但我找不到错误
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x==0);
返回编号sum;
}
document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2])代码>
只需将比较更改为负面评估:
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x!==0);//只需将比较更改为负评估:
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}while(x!==0);//将while(x==0)
更改为while(x!=0)
只有当当前元素等于0
时,您的do while
循环才会循环
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x!=0);
返回编号sum;
}
document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2]);
将while(x==0)
更改为while(x!=0)
只有当当前元素等于0
时,您的do while
循环才会循环
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x!=0);
返回编号sum;
}
document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2]);
仅当当前元素等于0时,当前do while才会运行,如果x始终等于0,则校正的线将断开循环
只有当当前元素等于0时,当前do while才会运行。如果x始终等于0,则已更正的行将中断循环。您的错误在这里:
while(x!=0)而不是while(x==0)
试试这个:
function numbersSum(inputArray) {
var numberSum = 0,
i = 0,
x = 0;
do {
x = inputArray[i++];
numberSum += x;
} while (x != 0);
return numberSum;
}
document.getElementById("demo").innerHTML = numbersSum([5, 1, 2, 3, 0, 1, 5, 0, 2]);
您的错误在这里:
while(x!=0)而不是while(x==0)
试试这个:
function numbersSum(inputArray) {
var numberSum = 0,
i = 0,
x = 0;
do {
x = inputArray[i++];
numberSum += x;
} while (x != 0);
return numberSum;
}
document.getElementById("demo").innerHTML = numbersSum([5, 1, 2, 3, 0, 1, 5, 0, 2]);
这里:while(x==0);
是不工作的原因
如您所见,条件声明为“只要数组中的元素为零,就以NumberSum递增”,因此不从数组中的第一个数字5向前移动
([5,1,2,3,0,1,5,0,2]};
将逻辑更改为while(x!+=0);
最终代码:
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x!==0);
返回编号sum;
}
document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2]);
此处:while(x==0);
是不工作的原因
如您所见,条件声明为“只要数组中的元素为零,就以NumberSum递增”,因此不从数组中的第一个数字5向前移动
([5,1,2,3,0,1,5,0,2]};
将逻辑更改为while(x!+=0);
最终代码:
函数编号总和(输入阵列){
var numberSum=0,
i=0,
x;
做{
x=输入阵列[i++];
numberSum+=x;
}而(x!==0);
返回编号sum;
}
document.getElementById(“demo”).innerHTML=numbersSum([5,1,2,3,0,1,5,0,2]);
如果希望它在x为0时停止,那么为什么要使用而(x==0)
?预期的输出是什么?当数组中的值为==0
时,是否要中断循环?只需将条件更改为x!==0
尝试在[]之外增加i
另外,尝试使用与函数名不同的变量名,因为它可能会导致意外行为。哦,该死。谢谢“vp_arth”。如果希望它在x为0时停止,那么为什么要使用while(x==0)
?预期的输出是什么?当数组中的值为==0
时,是否要中断循环
?只需将条件更改为x!==0
尝试在[]之外递增i
另外,请尝试使用与函数名不同的变量名,因为这可能会导致意外行为。哦,见鬼。谢谢“vp_arth”。do while
始终至少运行一次。do while
始终至少运行一次。请评论您的反对票。这样,您就让我意识到我的错误。请评论您的反对票。让我意识到我的错误。