如何防止 javascript if 语句将 0 评估为空字符串?
How to prevent javascript if statement to evaluate 0 as an empty string?
我有一个 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
和 zero int value
作为 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>
您可以使用逻辑运算符 (||
) 添加 k==0
作为条件的一部分,当值为 0
时,该条件将通过该条件。
尝试
if(k || k == 0){
var dataObj = {
"one": 13,
"two": 0,
"three": 3
}
$.each(dataObj, function (j, k) {
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>
我有一个 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
和 zero int value
作为 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>
您可以使用逻辑运算符 (||
) 添加 k==0
作为条件的一部分,当值为 0
时,该条件将通过该条件。
尝试
if(k || k == 0){
var dataObj = {
"one": 13,
"two": 0,
"three": 3
}
$.each(dataObj, function (j, k) {
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>