如果 json returns 为空,则设置“0”
Set `0` if json returns null
我正在 div 中显示 json 数据,它的工作正常。
var details= response.data.filters;
$.each(details,function(i,value){
$('.subSection').append('<section><label>Speed</label><label>'+value.speed+'</label></section>');
});
在这里,当我得到 value.speed
作为 null
时,我试图显示 0
。所以我尝试使用这样的三元运算符
$('.subSection').append('<section><label>Speed</label><label>'+(value.speed==null)?'0':value.speed+'</label></section>');
但它像这样连续返回零..0000
。不是正确的结构化元素。
我想我在三元组中做错了operator.Can如果我错了有人纠正我吗?
问题在于您的操作顺序,您需要将整个三元组包裹在括号中。您的陈述有效评估为:
$(".subSection").append(
("<section><label>Speed</label><label>" + (value.speed == null))
? "0"
: (value.speed + "</label></section>")
);
你想要的是:
$(".subSection").append(
"<section><label>Speed</label><label>" +
(value.speed == null ? "0" : value.speed) +
"</label></section>"
);
你也可以用 (value.speed || '0')
替换三元组,如果 value.speed
是任何虚假值
,它将使用 '0'
将来你最好提取语句而不是内联它们,这样可以完全避免这个问题:
const speed = (value.speed == null) ? "0" : value.speed;
$(".subSection").append(
"<section><label>Speed</label><label>" +
speed +
"</label></section>"
);
尝试用方括号括起来,例如,
$('.subSection').append('<section><label>Speed</label><label>'+((value.speed==null)?'0':value.speed)+'</label></section>');
希望对您有所帮助!
我正在 div 中显示 json 数据,它的工作正常。
var details= response.data.filters;
$.each(details,function(i,value){
$('.subSection').append('<section><label>Speed</label><label>'+value.speed+'</label></section>');
});
在这里,当我得到 value.speed
作为 null
时,我试图显示 0
。所以我尝试使用这样的三元运算符
$('.subSection').append('<section><label>Speed</label><label>'+(value.speed==null)?'0':value.speed+'</label></section>');
但它像这样连续返回零..0000
。不是正确的结构化元素。
我想我在三元组中做错了operator.Can如果我错了有人纠正我吗?
问题在于您的操作顺序,您需要将整个三元组包裹在括号中。您的陈述有效评估为:
$(".subSection").append(
("<section><label>Speed</label><label>" + (value.speed == null))
? "0"
: (value.speed + "</label></section>")
);
你想要的是:
$(".subSection").append(
"<section><label>Speed</label><label>" +
(value.speed == null ? "0" : value.speed) +
"</label></section>"
);
你也可以用 (value.speed || '0')
替换三元组,如果 value.speed
是任何虚假值
'0'
将来你最好提取语句而不是内联它们,这样可以完全避免这个问题:
const speed = (value.speed == null) ? "0" : value.speed;
$(".subSection").append(
"<section><label>Speed</label><label>" +
speed +
"</label></section>"
);
尝试用方括号括起来,例如,
$('.subSection').append('<section><label>Speed</label><label>'+((value.speed==null)?'0':value.speed)+'</label></section>');
希望对您有所帮助!