Длина массива возвращается как неопределенная при включении ключа и значения
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 ответа
Решение
Должно быть: var a = [];
для пустого массива нет {}
Пример:
var a = [item1, item2, item3];
Используя
var a = {};
вы инициализируете объект; не массив.
Для массива используйте
var a = [];