Javascript 检查对象内的空值
因此,我想将数据库中的这些行显示为一个表,并不是所有列都已填充,有些行的column3或columnX为nullJavascript 检查对象内的空值,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,因此,我想将数据库中的这些行显示为一个表,并不是所有列都已填充,有些行的column3或columnX为null if(datos[i].column1== "" || datos[i].column1== null) datos[i].column1= "-"; if(datos[i].column2== "" || datos[i].column2== null)
if(datos[i].column1== "" || datos[i].column1== null)
datos[i].column1= "-";
if(datos[i].column2== "" || datos[i].column2== null)
datos[i].column2= "-";
if(datos[i].column3== "" || datos[i].column3== null)
datos[i].column3= "-";
if(datos[i].column4 == "" || datos[i].column4 == null)
datos[i].column4 = "-";
if(datos[i].column5 == "" || datos[i].column5== null)
datos[i].column5 = "-";
if(datos[i].column6 == "" || datos[i].column6 == null)
datos[i].column6 = "-";
if(datos[i].column7 == "" || datos[i].column7== null)
datos[i].column7= "-";
s+='<tr>'+
' <td data-type="1">'+ datos[i].column1 + '</td>' +
' <td data-type="2">'+ datos[i].column2 + '</td>' +
' <td data-type="3">'+ datos[i].column3 + '</td>' +
' <td data-type="4">'+ datos[i].column4 + '</td>' +
' <td data-type="5">'+ datos[i].column5 + '</td>' +
' <td data-type="6">'+ datos[i].column6.substr(0, 10) + '</td>' +
' <td data-type="7">'+ datos[i].column7.substr(0, 10) + '</td>' +
' <td data-type="8">'+ datos[i].column8.substr(0, 10) + '</td>' +
' <td data-type="9">'+ datos[i].column9+ '</td>' +
' <td data-type="10">'+ datos[i].column10+ '</td>' +
' <td data-align="center"><p data-placement="top"><button class="btn btn-primary btn-xs" onclick=LlenaDatos("' + datos[i].column2+ '")><span class="glyphicon glyphicon-pencil"></span></button></p></td> ' +
'</tr>';
if(datos[i].column1==“datos[i].column1==null)
datos[i]。第1列=“-”;
if(datos[i].column2==“”| | datos[i].column2==null)
datos[i]。第2列=“-”;
if(datos[i].column3==“”| | datos[i].column3==null)
datos[i]。第3列=“-”;
if(datos[i].column4==“”| | datos[i].column4==null)
datos[i]。第4列=“-”;
if(datos[i].column5==“”| | datos[i].column5==null)
datos[i]。第5列=“-”;
if(datos[i].column6==“”| | datos[i].column6==null)
datos[i]。第6列=“-”;
if(datos[i].column7==“”| | datos[i].column7==null)
datos[i]。第7列=“-”;
s+=''+
''+datos[i].第1列''+
''+datos[i].第2列''+
''+datos[i].第3列''+
''+datos[i].第4列''+
''+datos[i].第5列''+
''+datos[i].第6列.子字符串(0,10)+''+
''+datos[i].第7列.子序列(0,10)+''+
''+datos[i].第8列.子字符串(0,10)+''+
''+datos[i].第9列''+
''+datos[i].第10列''+
“”+
'';
我觉得这看起来很野蛮,我希望用一种不太原始的方法来检查所有列是否为空或为空,并让它们显示为破折号。试试这个:
s += '<tr>';
$.each(datos[i], function(key, val){
if(!val)
datos[i][key] = "-";
s += ' <td data-type="1">'+ datos[i][key] + '</td>';
});
s += '<td data-align="center"><p data-placement="top"><button class="btn btn-primary btn-xs" onclick=LlenaDatos("' + datos[i].column2+ '")><span class="glyphicon glyphicon-pencil"></span></button></p></td></tr>';
s+='';
$。每个(datos[i],函数(键,值){
如果(!val)
datos[i][key]=“-”;
s+=''+datos[i][key]+'';
});
s+=';
现在,您可以在一个循环中完成所有操作。如果字符串为null或空,您可以使用
|
操作符返回其他内容,而不是修改数据
...
' <td data-type="1">'+ (datos[i].column1 || '-') + '</td>' +
' <td data-type="2">'+ (datos[i].column2 || '-') + '</td>' +
...
。。。
''+(datos[i].第1列| |'-')+''+
“+(datos[i].第2列| |”-”)+”+
...
那么,您的代码可以工作,但您想改进它吗?如果是这样的话,也许会是一个更好的地方。我不知道这一点:好吧,现在我会知道未来的问题,比如这个,是的,代码工作,我只是不知道如何循环它,不必像我做的那样写块。谢谢大家~