использовать цикл for для прохождения объектов в массиве и console.log, если фильм был просмотрен или нет - PullRequest
0 голосов
/ 01 сентября 2018

Я новичок в изучении кодирования. Трудновато с циклами 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);

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

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);

Или это так, я думаю, вы микшируете для 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);
})
0 голосов
/ 01 сентября 2018

Ваша проблема в том, что ваши myMovies и movies переменные являются массивами, вам нужно показать, какой индекс вы хотите. Вот ваш фиксированный код:

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 < movies.length; 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...