首页 > 解决方案 > 如果值为 null 或不存在,则打印字符串

问题描述

我要做的基本上是,如果我抓取一个名称数据库,我将根据我在下面的代码中定义的条件打印出值。但是,如果该值为 null(在我的情况下不存在),我想在我的页面上为该值打印“-”。现在发生的情况是,我的 HTML 模板中显示的值为“null”,这些值不存在。似乎是一件容易的事情,但不知何故它不起作用。

 let nameHTML = ""
  if ((data.name.first && data.name.last) || (data.name.third && data.name.fourth)) {
    nameHTML = `
      <div class="name">
        <p class="black">${data.name.first} ${data.name.last}, ${data.name.third} ${data.name.fourth} </p>
      </div>
    `
  } else {
    nameHTML = `
      <div class="name">
        <p class="black">${data.name.first = "-"} ${data.name.last = "-"}, ${data.name.third = "-"} ${data.name.fourth = "-"} </p>
      </div>
    `
  }

标签: javascripthtml

解决方案


您可以为虚假值采用逻辑 OR||默认值。这也替换了空字符串''

let nameHTML = `
      <div class="name">
        <p class="black">${data.name.first || '-'} ${data.name.last || '-'}, ${data.name.third || '-'} ${data.name.fourth || '-'} </p>
      </div>
    `;

推荐阅读