我正在从ajax调用中获取数据
[{"_id":{"$oid":"5bd00e99d2ccda119c0032da"},"AllotmentsDetails":null}]
我正在将其与空值进行比较
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (allotmentDetailsArray.length == 0 || allotmentDetailsArray == null)
{
////
}
如果情况不妙,请帮助!
答案 0 :(得分:3)
您必须先对null
进行检查,然后才能尝试访问object
,在您的if
块中,您试图在.length
对象上调用null
您可以这样做:
if (!allotmentDetailsArray || allotmentDetailsArray.length == 0)
{
////
}
!allotmentDetailsArray
是allotmentDetailsArray == null
的缩写表达式,它检查allotmentDetailsArray
是undefined
还是null
。
因此,这里仅在if
不是allotmentDetailsArray
时检查null
块的第二部分。
答案 1 :(得分:1)
您必须先检查null,然后再检查长度
if (allotmentDetailsArray == null || allotmentDetailsArray.length == 0)
{
////
}
答案 2 :(得分:1)
您不能检查空值的长度。但是,您可以使用此代码检查空值和数组长度。
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
}
}
答案 3 :(得分:1)
首先,您必须检查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);
}
答案 4 :(得分:0)
您可以只检查类型:
var allotmentDetailsArray = data[0]['AllotmentsDetails'];
if (typeof allotmentDetailsArray !== "undefined")
{
// Var is not null
}