Javascript 汗学院

Javascript 汗学院,javascript,khan-academy,Javascript,Khan Academy,所以我在课堂上有一个项目,我所要做的就是展示一部电影和评论,然后在第一部电影下展示第二部。我认为我的格式不正确,尺寸值也不正确。提前谢谢 现在,为了让两部电影都显示出来,使用for循环在数组中迭代,并为每部电影执行文本命令。如果您不记得如何遍历数组,请重新观看前面通过数组和/或循环遍历数组的谈话。 这是什么 for (var =; ; ) { fill(84, 140, 209); textAlign(CENTER, CENTER); textSize(20)

所以我在课堂上有一个项目,我所要做的就是展示一部电影和评论,然后在第一部电影下展示第二部。我认为我的格式不正确,尺寸值也不正确。提前谢谢

现在,为了让两部电影都显示出来,使用for循环在数组中迭代,并为每部电影执行文本命令。如果您不记得如何遍历数组,请重新观看前面通过数组和/或循环遍历数组的谈话。 这是什么

 for (var  =; ;  ) {
     fill(84, 140, 209);
     textAlign(CENTER, CENTER);
     textSize(20);
     text(, 200, *+);
     textSize ();
     text(, 200, *+);
我的代码

 var movies = [
     {
         title: "Puff the Magic Dragon",
         review: "Best movie ever!!"
     },
     {
         title: "Batman",
         review: "Second best movie!!"
     }
 ];

 fill(84, 140, 209);
 textAlign(CENTER, CENTER);
 textSize(20);
 text(movies[0].title, 200, 50);

 fill(84, 140, 209);
 textAlign(CENTER, CENTER);
 textSize(20);
 text(movies[0].review, 200, 100);

 for (var movies = 100; 100; 100){
     fill(84,140,209);
     textAlign(CENTER, CENTER);
     textSize(20);

     text(movies[0].title, 200,100*100+50);

     textSize (10);
     text(movies[0].review, 200,100*100+100);
 }

仅显示对象数组中的第一个movie元素,因为您只为第0个元素编制索引

如果您有一个如下所示的数组

var movies = [
     // referred to by movies[0]
     {
         title: "My first movie",
     },
     // referred to by movies[1]
     {
         title: "My second movie",
     }
 ];
请注意,数组中的每个元素都使用其相应的索引进行引用。i、 e.电影[0],电影[1]

你现在看到问题了吗

暗示

你的数组无效

var movies的语句=100;100; 100{}没有条件或停止点

相反,其结构应如下所示:

for (var myCounter = startingVal; myCounter < myStoppingConditional; myCounter++) { 
    // run whatever is in here as many times as it takes
    // to get from myCounter to myStoppingConditional
};
代码中说:

text(movies[0].title, 200,100*100+50);

textSize (10);
text(movies[0].review, 200,100*100+100);
在底部文本功能中,您需要将电影[0]更改为电影[1]。

尝试以下操作:

for (var i = 0; i < movies.length; i++){
fill(84, 140, 209);
textAlign(CENTER, CENTER);
textSize(20);
text(movies[i].title, 200, i*100 + 50 );
textSize(15);
text(movies[i].review, 200, i*100 + 100);

}

你有什么问题吗?只有《泡芙》是有史以来最好的电影!!《蝙蝠侠》正在上映,而我也应该在它下面上映《蝙蝠侠》第二好电影。@JessicaLang欢迎来到StackOverflow。如果我的回答对你有帮助,一定要投赞成票。我强烈建议大家回去回顾一下讲座,而不是仅仅复制和粘贴;否则,你的学期将很艰难@JessicaLang在代码中说电影[0]两次,但意思是说电影[0]一次,电影[1]一次谢谢你的评论!我走对了吗?对于var i=0;<职位、电影;i++{Fill84140209;textAlignCENTER,CENTER;textSize20;textmovies[0]。标题,200100*100+50;textSize 10;textmovies[0]。评论,200100*100+100;}差不多了!两个问题。没有位置这样的东西;也不是电影在这个不存在的变量上的属性。Lookup javascript获取数组中的对象数量,并使用该数量代替for语句中的positions.movies。然后,请注意,您仍在打印电影[0]。尝试将该0替换为变量,而不是静态数字。提示:您已经有了应该使用的正确变量!我尝试将[0]更改为[10],并将positions.movies更改为title.movies,但显然不起作用,我要把头发扯下来了。为什么[10]?数组中有11个元素吗?相反,您希望将10替换为一个变量,该变量表示循环通过的每个元素的索引,并在循环通过项目时动态地进行。这样,当你在第0元素电影[0]中循环时,你会打印出相应的对象属性,然后是第二元素电影[1],等等……你有没有试着查找我建议的内容?您需要将position.movies(这不是一件事)替换为停止条件,停止条件是您在电影数组中拥有的电影数量。您只显示第0个字符串。一般来说,如果答案中包含对代码的用途的解释,以及在不引入其他内容的情况下解决问题的原因,那么答案会更有帮助。