javascript - foreach 循环中的未定义值

标签 javascript

有人可以解释为什么我的循环中未定义吗?我正在尝试运行一个循环,让我知道如果我观看了某些内容以及评级,它是否属实。我做错了什么?

var films = [

{
    movie: "fast and the furious",
    rating: 4,
    seen: true
},
{
    movie:"13 reasons why",
    rating: 5,
    seen: true


}, 
{
    movie:"beaty and the beast",
    rating: 4,
    seen: false
}

];

films.forEach(function(movie){
var result = "You have ";
if(movie.seen) {
    result += "watched ";
} 
else{
    result += "not seen ";
}
result += "\"" + films.movie + "\" - ";
result += films.rating + " stars";

console.log(result);

});

最佳答案

您应该在迭代器函数中访问元素,而不是数组:

films.forEach(function(movie) {
  var result = "You have ";
  if (movie.seen) {
    result += "watched ";
  } else {
    result += "not seen ";
  }
  result += "\"" + movie.movie + "\" - ";
  result += movie.rating + " stars";
});

关于javascript - foreach 循环中的未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44016210/

相关文章:

javascript - 如何在highchart顶部显示网格线

javascript - 通过js页面重定向代码传递多个值

javascript - 从 Javascript 中的对象数组中获取对象

javascript - 多个组件状态的 react 钩子(Hook)没有更新

javascript - Array.map 在 IE9 中不工作

javascript - 将 3D 世界向量转换为模型 View 矩阵

javascript - 在javascript中访问动态创建的元素和id

javascript - 使用 Django 打开社交登录的新窗口,然后关闭并返回父窗口

javascript - 在 JavaScript 中,当一次声明多个变量时,只使用一个 var 语句是否有内存优势?

javascript - 如何防止用户使用 jquery 取消选中一组复选框输入中的所有检查