var movies =
[
{name: "In Bruges", rating:"4.7", seen:false},
{name: "Frozen", rating: "4.5", seen:true},
{name: "Lion King", rating:"5", seen:true},
]
for (var i = 0; i < movies.length; i++) {
var result = "You have ";
if(movies.seen === true){
result += "watched ";
}
else{
result += "not seen ";
}
result += "\"" + movies.name + "\" - ";
result += movies.rating + " stars"
console.log(result)
};
You have not seen "undefined" - undefined stars is the result in chrome however you should see You have seen/not seen "movie name" - "rating" stars.
我需要使用for循环打印每个我观看过的电影和评级,以及我是否看过它。问题是为什么它没有定义?代码应该看movie.rating并且只替换那里的值?有人可以检查我的代码并帮助我进行for循环吗?Javascript对象返回undefined
参考索引,'如果(movies.seen ===真)''到如果(电影[I] .seen ===真)'数组元素。或使用'forEach'循环。 – rajuGT
@rajuGT真棒,它加入我的movie.seen /名称/评价使它的工作。谢谢! –