包含键和值时,数组长度以未定义的形式返回

时间:2018-04-24 17:29:36

标签: jquery arrays is-empty

JQUERY

var a = {};
$('#individual_users_result').find("li").each(function() {
    var added_domains = $(this).attr('data-id');
    var added_domains_text = $(this).text().trim();
    a[added_domains] = added_domains_text;
})

我正在创建一个数组,其中包含键和值。我试图确定数组是否为空。我已经确认使用console.log(a)结果,它正在产生我需要的东西。

当我使用它来查明数组是否为空时,我undefined上的a.length

if (a.length !== 0) {
    alert(a.length)
}

如果我改变了这个

a[added_domains] = added_domains_text;

到这个

a = added_domains_text;

然后我得到39

的长度

在生成数组时添加键值是什么导致我的代码将length显示为undefined

2 个答案:

答案 0 :(得分:1)

对于不是var a = [];

的空数组,应该是:{}

示例:

var a = [item1, item2, item3];

答案 1 :(得分:0)

使用

var a = {};

你正在初始化一个对象;不是阵列。

对于数组,请使用

var a = [];