>我正在从ajax调用中获取数据,例如
[{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":null}]
我正在比较它的空值,例如
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray.length == 0 || allotmentDetailsArray == null)
{
////
}
如果条件...请帮忙!!
在尝试访问object
之前,您必须检查null
,在您的if
块中,您正在尝试在null
对象上调用.length
。
你可以这样做:
if (!allotmentDetailsArray || allotmentDetailsArray.length == 0)
{
////
}
其中!allotmentDetailsArray
是allotmentDetailsArray == null
的缩短表达式,用于检查allotmentDetailsArray
是undefined
还是null
。
所以这里只有当allotmentDetailsArray
if
不null
时才检查块的第二部分。
你必须先检查空,然后检查长度
if (allotmentDetailsArray == null || allotmentDetailsArray.length == 0)
{
////
}
不能检查空值的长度。但是,您可以使用此代码检查空值和数组长度。
if (!allotmentDetailsArray) {
// null check here. you cannot check array length here since it's a null value
} else {
// if you want to check array length
if (allotmentDetailsArray.length === 0 ) {
// check here
}
}
首先,您必须检查 null 或不 null。 如果它不是 null 表示,则检查长度。
请尝试一下。
//Ex:1
var data= [{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":null}];
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray == null)
{
alert(allotmentDetailsArray);
}
else if(allotmentDetailsArray.length == 0)
{
alert(allotmentDetailsArray.length);
}
//or
if (allotmentDetailsArray == null ||allotmentDetailsArray.length == 0 )
{
alert(allotmentDetailsArray);
}
//Ex:2
var data= [{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":""}];
allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray == null)
{
alert(allotmentDetailsArray);
}
else if(allotmentDetailsArray.length == 0)
{
alert(allotmentDetailsArray.length);
}
您可以检查类型:
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (typeof allotmentDetailsArray !== "undefined")
{
// Var is not null
}