проверить, содержит ли свойство объектов JSON строку - PullRequest
0 голосов
/ 03 февраля 2019

Я использую API базы данных фильмов, который ищет фильмы и просматривает данные, у каждого объекта фильма есть свойство poster_path, я обращаюсь к нему через переменную (baseImgURL), и это работает.например, https://image.tmdb.org/t/p/w92/adw6Lq9FiC9zjYEpOqfq03ituwp.jpg

Однако в некоторых фильмах нет изображений, и в таких файлах "poster_path" "null", я пытаюсь сделать оператор if, который проверяет, содержит ли значение poster_path значение "null" изаменяет изображение на изображение локального файла.

В настоящее время оно заменяет все изображения на изображение локального файла, что будет лучшим подходом для этого?Должен ли я использовать цикл forEach?

request.onload = function() {
    var data = JSON.parse(this.response);
    data.results.forEach(film=> {     
...

var baseImgURL = "https://image.tmdb.org/t/p/w92" + film.poster_path;

var filmImage = document.createElement("img");
filmImage.src = baseImgURL;

if(filmImage.src.indexOf("null")){
   filmImage.src = "/img/imagenotavailable.png";
}

1 Ответ

0 голосов
/ 03 февраля 2019

Попробуйте использовать !!filmImage.src (строгая проверка нулевого типа) вместо filmImage.src.indexOf("null"), поскольку строка JSON анализируется для объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...