检查空数组

时间:2017-11-05 06:48:49

标签: javascript jquery

我在{}这样的控制台中获取输出,现在我正在检查它是否有条件,它不起作用

$.ajax({
  ...
  success: function(data){
   if (data.length) {
        if(data.length === 0){
            $('.library_info_tbl tbody').prepend('<tr><td class="text-center centeralign" colspan="8">No Data Available!</td></tr>');
        }
        else{   
        }
    }
  });

如果数据包含{},则不会检查条件if(data.length === 0)是否在代码中不起作用。

3 个答案:

答案 0 :(得分:2)

if (data.length) { ...... }

以上条件阻止它进入内部区块,因为0被视为false,这就是你无法执行内部语句的原因:

if(data.length === 0)

答案 1 :(得分:0)

请尝试以下操作:

//if data is array 
if (data.length) {     
   $('.library_info_tbl tbody').prepend('<tr><td class="text-center centeralign" colspan="8">No Data Available!</td></tr>');
}
else 
{   
}

//if data is object

if(jQuery.isEmptyObject(data)){//do something }
else{ }

答案 2 :(得分:0)

Javascript中的对象在其原型中没有长度属性。

如果您要查找长度,请先确定它是否为数组。

success(result){
    if(result instanceof Array && result.length){ ... }
}

instanceof将确定结果是否为Array类型。从而确保您可以安全地使用长度。

希望它有所帮助: - )