Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用循环来简化这段if-else长代码?_Javascript_Loops_While Loop - Fatal编程技术网

Javascript 如何使用循环来简化这段if-else长代码?

Javascript 如何使用循环来简化这段if-else长代码?,javascript,loops,while-loop,Javascript,Loops,While Loop,我对编码是新手,我们正在学习循环和条件 为了练习,我应该写一个如下代码:“向用户请求10个数字,然后计数,有多少是正的、负的或零的。还有,计数奇数和偶数。显示统计数据。 用户只需输入一个变量(不是10个)。“ 到目前为止,我已经有了这段代码,但它太长了(我故意停在第三个数字上),而且它不符合用户只需要输入一个变量的条件。我可以用循环来做这个吗?可能吗?我们还没有了解数组。 var posCount=0;var negCount=0;var zeroCount=0; var-evenCount=0

我对编码是新手,我们正在学习循环和条件

为了练习,我应该写一个如下代码:“向用户请求10个数字,然后计数,有多少是正的、负的或零的。还有,计数奇数和偶数。显示统计数据。 用户只需输入一个变量(不是10个)。

到目前为止,我已经有了这段代码,但它太长了(我故意停在第三个数字上),而且它不符合用户只需要输入一个变量的条件。我可以用循环来做这个吗?可能吗?我们还没有了解数组。
var posCount=0;var negCount=0;var zeroCount=0;
var-evenCount=0;var-oddCount=0;
让n1=提示符('输入数字1:');
让n2=提示符('输入数字2:');
让n3=提示符('输入数字3:');
如果(n1>0){
posCount++;
}else如果(n1==0){
零计数++;
}否则{
negCount++;
}
如果(n1%2==0){
evenCount++;
}
否则{
oddCount++;
}
如果(n2>0){
posCount++;
}否则如果(n2==0){
零计数++;
}否则{
negCount++;
}
如果(n2%2==0){
evenCount++;
}
否则{
oddCount++;
}
如果(n3>0){
posCount++;
}否则如果(n3==0){
零计数++;
}否则{
negCount++;
}
如果(n3%2==0){
evenCount++;
}
否则{
oddCount++;
}
log('有'+negCount+'负数');
log('有'+posCount+'正数');
log('有'+zeroCount+'0s');
log('有'+oddCount+'奇数');

log('有'+evenCount+'偶数')这个代码怎么样?。我添加了一个数组,因为它使代码非常简单。希望你能赶上

    let n = [];
    for (var i = 0; i <= 10; i++) {
        n[i] = prompt('Enter number 1:');
        if (n[i] > 0) {
            posCount++;
        } else if (n[i] == 0) {
            zeroCount++;
        } else {
            negCount++;
        }
        if (n[i] % 2 == 0) {
            evenCount++;
        } else {
            oddCount++;
        }
    }
设n=[];
对于(变量i=0;i 0){
posCount++;
}else如果(n[i]==0){
零计数++;
}否则{
negCount++;
}
如果(n[i]%2==0){
evenCount++;
}否则{
oddCount++;
}
}

这个代码怎么样?。我添加了一个数组,因为它使代码非常简单。希望你能赶上

    let n = [];
    for (var i = 0; i <= 10; i++) {
        n[i] = prompt('Enter number 1:');
        if (n[i] > 0) {
            posCount++;
        } else if (n[i] == 0) {
            zeroCount++;
        } else {
            negCount++;
        }
        if (n[i] % 2 == 0) {
            evenCount++;
        } else {
            oddCount++;
        }
    }
设n=[];
对于(变量i=0;i 0){
posCount++;
}else如果(n[i]==0){
零计数++;
}否则{
negCount++;
}
如果(n[i]%2==0){
evenCount++;
}否则{
oddCount++;
}
}

我会给你一些提示,而不是直接的解决方法,以免破坏你的锻炼

重要的是要了解,您不必同时存储所有输入,因为您不需要同时存储它们

如果需要更详细的提示,请将鼠标悬停在此块上

您可以提示输入一个,处理它,然后提示输入下一个

通过这种方式,您可以使用循环而不必担心数组,并且读取输入只需要一个变量

最后,如果您仍然无法理解一些真实的代码:

var-posCount=0;var negCount=0;var zeroCount=0; var-evenCount=0;var-oddCount=0;
对于(让i=1;i我会给你一些提示,而不是直接的解决方案,以免破坏你的锻炼

重要的是要了解,您不必同时存储所有输入,因为您不需要同时存储它们

如果需要更详细的提示,请将鼠标悬停在此块上

您可以提示输入一个,处理它,然后提示输入下一个

通过这种方式,您可以使用循环而不必担心数组,并且读取输入只需要一个变量

最后,如果您仍然无法理解一些真实的代码:

var posCount=0;var negCount=0;var zeroCount=0; var evenCount=0;var oddCount=0;
对于(设i=1;i是的,您应该使用循环来完成此操作。“我们还没有了解数组。”-不需要数组。是的,您应该使用循环来完成此操作。“我们还没有了解数组。”-不需要数组。不,您根本不需要数组。不,您根本不需要数组。