迭代时 JavaScript 对象显示为 'undefined'

标签 javascript arrays javascript-objects

我知道这确实很基础,但我刚刚开始学习 Javascript 并练习一些数组和对象。我已经编写了一个基本的电影数据库,其中的对象存储在 var movie 中,但是控制台一直显示字符串 ive build,它应该在其中插入 movie.title 作为未定义。我缺少什么?

var movies = [
  {
    "title": "Armagedon",
    "rating": 4.8,
    "hasWatched": true,
  },
  {
    "title": "Tomb Raider",
    "rating": 2.6,
    "hasWatched": true,
  },
  {
    "title": "Fight Club",
    "rating": 4.9,
    "hasWatched": true,
  }
];

movies.forEach(function(movie) {
  var item = "You have ";
  if (movies.hasWatched = true) {
    item += "watched ";
  } else {
    item += "not seen ";
  }
  item += "\"" + movies.title + "\" - ";
  item += movies.rating + " stars";
  console.log(item);
})

这显然是一些非常基本的东西,所以对我放松一点!谢谢!

最佳答案

除了一个小错字之外,你都做得很棒...
只需将电影更改为电影即可

movies.forEach(function(movie) {
  var item = "You have ";
  if (movie.hasWatched = true) {
    item += "watched ";
  } else {
    item += "not seen ";
  }
  item += "\"" + movie.title + "\" - ";
  item += movie.rating + " stars";
  console.log(item);
})

你可以尝试我对相同代码的一点简化

movies.forEach(movie => {
  console.log(
    `You have ${movie.hasWatched ? 'watched' : 'not seen'} "${movie.title}" - ${movie.rating}`
  )
})

此代码使用箭头函数和字符串插值

关于迭代时 JavaScript 对象显示为 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59221052/

相关文章:

javascript - 优化结果页优先查询结果条数

javascript - Reactjs 中使用 JSX 的安全导航运算符

javascript - 在客户端设置其值后获取隐藏字段值c#页面加载母版页返回空

C++ 循环不断评估 if 语句,使其速度太慢

javascript - 如何迭代对象数组并字符串化

javascript - 如何使用 javascript 从 rgb 格式检索单个颜色分量(红色、蓝色、绿色)?

c++ - 变量的前向声明?

c - 尝试对 c 中的结构数组使用 realloc 导致无效指针

javascript - 如何通过Java、JavaScript上的方法每次从SQL Server检索数据

javascript - 如何将多个条目的数组转换为对象?