javascript - 如何防止 javascript if 语句将 0 评估为空字符串?

标签 javascript jquery if-statement operators

我有一个 js 对象,它有包含数字的数据。其中一些可以是 0。在这种情况下,if 语句会将这些值评估为空字符串。这是示例:

var dataObj = {
  "one": 13,
  "two": 0,
  "three": 3
}

$.each(dataObj, function (j, k) {
  if(k){
    console.log('Column: '+k);
  }else{
    console.log('Empty');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我想知道如何防止这种情况发生?有没有办法检查值是否为空但同时不将 0 视为空值?

最佳答案

您可以将条件更改为k || k===0 这意味着(据我所知)它将接受 not-undefined, not-null, not-empty零整数值 作为 true

如果我能做些什么来改进答案,请发表评论..

不要忘记检查我的代码片段

祝你有美好的一天..

var dataObj = {
  "one": 13,
  "two": 0,
  "three": 3,
  "four": null,
  "five": ''
}

$.each(dataObj, function (j, k) {
  // use 'or' operator
  if(k || k===0){
    console.log('Column: '+k);
  }else{
    console.log('Empty');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于javascript - 如何防止 javascript if 语句将 0 评估为空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53745730/

相关文章:

javascript - 主干 DOM 事件多次触发

jquery - 如何在 RadDatePicker 中实现清除按钮

c# - 为什么 if 语句有效但 switch 语句无效

java - While 循环在检查输入之前结束

javascript - 如何将JS控制台注入(inject)到任何页面? jsconsole.com

javascript - 我可以单击()按钮,但看不到innerHTML/length。这是怎么回事? ( Node JS)

javascript - 从 Firebase 获取和显示数据需要时间

javascript - HTML 在 JavaScript 中显示值 "data"

javascript - 在 Magento 2 中编辑前端的最佳方法是什么?

if-statement - 在 Rust 程序中,当条件为 "if"时,会执行 "false"语句,如何理解?