首页 > 解决方案 > 使用 for 循环遍历数组和 console.log 中的对象,如果电影已经看过或没有

问题描述

我是学习编码的新手。使用 for 循环和 forEach 有点困难。我的代码由于某种原因无法正常工作,我不知道错误是什么。有人看到我需要修复的任何东西吗?


var myMovies = [

  {name: "Gladiator",
   rating: 5,
   seen: true
  },
  {name: "Vanilla Sky",
  rating: 4.5,
  seen: true
  },
  {name: "Beautiful Mind",
  rating: 5,
  seen:true
  },
  {name: "The Happytime Murders",
   rating: 3.5,
   seen: false
  }
];
  var movies = myMovies;
for(i = 0; i < 3; i ++)
  if(movies.seen){
  console.log("You have seen " + movies.name + "-" + movies.rating);
}else
console.log("You haven't seen " + movies.name + "-" + movies.rating);

标签: javascriptarraysloopsobjectfor-loop

解决方案


var myMovies = [

    {name: "Gladiator",
        rating: 5,
        seen: true
    },
    {name: "Vanilla Sky",
        rating: 4.5,
        seen: true
    },
    {name: "Beautiful Mind",
        rating: 5,
        seen:true
    },
    {name: "The Happytime Murders",
        rating: 3.5,
        seen: false
    }
];
var movies = myMovies;
for(i = 0; i < 4; i ++)
    if(movies[i].seen){
        console.log("You have seen " + movies[i].name + "-" + movies[i].rating);
    }else
        console.log("You haven't seen " + movies[i].name + "-" + movies[i].rating);

或者是这样吗?我认为你正在混合 for 和 foreach

var myMovies = [

    {name: "Gladiator",
        rating: 5,
        seen: true
    },
    {name: "Vanilla Sky",
        rating: 4.5,
        seen: true
    },
    {name: "Beautiful Mind",
        rating: 5,
        seen:true
    },
    {name: "The Happytime Murders",
        rating: 3.5,
        seen: false
    }
];

myMovies.forEach(movies=>{
    if(movies.seen){
        console.log("You have seen " + movies.name + "-" + movies.rating);
    }else
        console.log("You haven't seen " + movies.name + "-" + movies.rating);
})

推荐阅读