【问题标题】:check if JSON objects property contains a string检查 JSON 对象属性是否包含字符串
【发布时间】:2019-06-27 11:57:24
【问题描述】:

我正在使用一个电影数据库 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";
}

【问题讨论】:

  • 首先我不认为它实际上包含“null”的文字字符串值,其次你必须调查和研究forEach和其他循环之间的区别并使用适合你需要的循环.

标签: javascript jquery json ajax foreach


【解决方案1】:

尝试使用!!filmImage.src(严格的空类型检查)而不是filmImage.src.indexOf("null"),因为JSON 字符串被解析为一个对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2018-05-06
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多