我有一个 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/