嵌套For循环-Javascript

嵌套For循环-Javascript,javascript,for-loop,nested-loops,Javascript,For Loop,Nested Loops,我有一个问题与我提出的问题有关 我正在尝试嵌套一个循环,但不太确定这是否是一种方法。我想做的是显示一些与分数相关的星星。所以,如果他们有3个问题,他们会得到3颗星。我遇到的问题是,如果没有达到要求的分数,就显示空星 例如:进入下一个级别需要10分钟。他们得了6分。我可以显示6颗金星,但我无法显示4颗空星。我希望我解释得对 这是我目前掌握的代码 var se = ''; var sep = ''; for (var i = 1; i <= score; i++) { se = se

我有一个问题与我提出的问题有关

我正在尝试嵌套一个循环,但不太确定这是否是一种方法。我想做的是显示一些与分数相关的星星。所以,如果他们有3个问题,他们会得到3颗星。我遇到的问题是,如果没有达到要求的分数,就显示空星

例如:进入下一个级别需要10分钟。他们得了6分。我可以显示6颗金星,但我无法显示4颗空星。我希望我解释得对

这是我目前掌握的代码

var se = '';
var sep = '';
for (var i = 1; i <= score; i++)
{
    se = se + '<img src="./images/star.png"/>'; 
}
var-se='';
var-sep='';
对于(var i=1;i尝试以下方法:

var stars = '';
for (var i = 1; i <= 10; i++) {                        // Loop 10 times
    var empty = (i > score)?'empty':'';                // If i > score, set this variable to the string 'empty';
    stars += '<img src="./images/'+ empty +'star.png"/>'; // Add the image (star.png or emptystar.png depending on the score).
}
那么,你在问,这一行
var empty=(i>score)“'empty':”;
是如何工作的?
很简单,这是一个缩写:

var empty;
if(i > score){
    empty = 'empty';
}else{
    empty = '';
}
试试这个:

var stars = '';
for (var i = 1; i <= 10; i++) {                        // Loop 10 times
    var empty = (i > score)?'empty':'';                // If i > score, set this variable to the string 'empty';
    stars += '<img src="./images/'+ empty +'star.png"/>'; // Add the image (star.png or emptystar.png depending on the score).
}
那么,你在问,这一行
var empty=(i>score)“'empty':”;
是如何工作的?
很简单,这是一个缩写:

var empty;
if(i > score){
    empty = 'empty';
}else{
    empty = '';
}
试试这个:

var stars = '';
var maxstars = 10;

for (var i = 0; i < score; i++)
{
    stars = stars + '<img src="./images/star.png"/>'; 
}

for (var j = score; j < maxstars; j++)
{
    stars = stars + '<img src="./images/emptystar.png"/>';
}
var-stars='';
var-maxstars=10;
对于(变量i=0;i
试试这个:

var stars = '';
var maxstars = 10;

for (var i = 0; i < score; i++)
{
    stars = stars + '<img src="./images/star.png"/>'; 
}

for (var j = score; j < maxstars; j++)
{
    stars = stars + '<img src="./images/emptystar.png"/>';
}
var-stars='';
var-maxstars=10;
对于(变量i=0;i
只需使用一个循环:

var score = 5;
var sep = "";
for (var i = 0; i <= 10; i++)
{
    sep += (i < score) ? '<img src="./images/star.png"/>' : '<img src="./images/emptystar.png"/>';
}
var得分=5;
var sep=“”;
对于(var i=0;i只需使用一个循环:

var score = 5;
var sep = "";
for (var i = 0; i <= 10; i++)
{
    sep += (i < score) ? '<img src="./images/star.png"/>' : '<img src="./images/emptystar.png"/>';
}
var得分=5;
var sep=“”;


对于(var i=0;i),只要它有效,您就不必进入嵌套循环。实际上,我认为在这种情况下没有一种实用的方法使用它们。第二个循环没有发挥应有的作用。它没有显示正确数量的空星:(我认为将其保留在第二个for循环中,让语句按原样运行是可行的。我不想去想这个问题——对于第二个循环,你必须从
I
开始,循环到10。是否有最大的星数?为什么不从所有空星开始,然后添加全星并删除当他们得到点时,空星?只要它起作用,你就不必进入嵌套循环。实际上,我认为在这种情况下,没有一种实用的方法使用它们。第二个循环没有像它应该的那样起作用。它没有显示正确数量的空星:(我认为将其保留在第二个for循环中,让语句按原样运行是可行的。我不想去想这个问题——对于第二个循环,你必须从
I
开始,循环到10。是否有最大的星数?为什么不从所有空星开始,然后添加全星并删除空星当他们得到分数时?很好的解决方案,但最好有解释。嗨@Tucker,我试过这个,但不管我得到多少对错,它都会显示空星10次。我只是看不到我要去哪里wrong@Chris:您必须以错误的方式集成代码,因为它工作得非常好:。“我只是看不出我错在哪里"…我们都不知道,因为我们不知道你是如何使用代码的。这是我的错。我注意到我用了j=0而不是j=score。它现在也很管用。谢谢你这么好的解决方案,但如果有解释的话会更好。嗨@Tucker,我试过这个,但不管我有多少对错,它都会显示空星10次。我只是看不出在哪里我要去wrong@Chris:您一定是以错误的方式集成了代码,因为它工作得非常好:““我只是看不出哪里出了问题”…我们都不知道,因为我们不知道你是如何使用代码的。这是我的错。我注意到我把j=0改成了j=score。现在它也起作用了。非常感谢@Cerbrus。这很有魅力。我注意到现在我忽略了在循环中包含最大数量的问题。嗯,@Chris,你能告诉我为什么你不接受我吗y答案?你现在接受的答案完全一样,但是使用了更多的变量,用于循环,并且有重复的代码。嘿,我以为我能够接受每个有效的答案。我的错。我不知道你只能接受一个有效的答案。没有恶意啊,这是有道理的,是的:P没有不愉快的感觉!非常感谢@Cerbrus。这很有魅力。我现在注意到我忽略了在循环中包含最大数量的问题。嗯,@Chris,你能告诉我为什么你不接受我的答案吗?你现在接受的答案与我的答案完全相同,但使用了更多的变量,用于循环,并且有重复的代码。嘿,我以为我能够接受每个有效的答案。M很糟糕。我不知道你只能接受一个有效的。没有恶意啊,这是有道理的,是的:没有恶意!