JavaScript

Как сделать проверку пустоты массива в Java Script .

Массив в JavaScropt может содержать значения null и undefined, которые делают ваш вопрос неоднозначным. Например массив
a = [,,,,];
пуст, но имеет длину отличную от нуля. Все элементы такого массива == null
Если в массив передать не инициализированную переменную, например
var x;
a[0] = x;
теперь a[0] содержит undefined и массив a по-прежнему пуст

Вот набросал:

<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
<script>
Array.prototype.empty = function () {
return this.length == 0 || this.count() == 0? true : false;
}
Array.prototype.count = function () {
if (this.length == 0) return 0;
var cnt = 0;
for (var i = 0; i < this.length; ++i) if (this[i] != null || this[i] != undefined) ++cnt;
return cnt;
}
function test() {
a = [];
b = [1, 2, null, 5];
c = [null, ];
d = [undefined];
e = [,,,null,,undefined,,];
x = "Пустой";
y = "Содержит элементы в количестве: ";
br = "<br />";
sz = " - его размер: ";
if (a.empty()) document.write(x);
else document.write(y + a.count());
document.write(sz + a.length + br);
if (b.empty()) document.write(x);
else document.write(y + b.count());
document.write(sz + b.length + br);
if (c.empty()) document.write(x);
else document.write(y + c.count());
document.write(sz + c.length + br);
if (d.empty()) document.write(x);
else document.write(y + d.count());
document.write(sz + d.length + br);
if (e.empty()) document.write(x);
else document.write(y + e.count());
document.write(sz + e.length + br);
}
window.onload = test;
</script>
</head>
<body>
</body>
</html>
Олег Новак
Олег Новак
68 373
Лучший ответ
Константин Большаков и как это внедрить в мой код
Константин Большаков и я вобще ничего не понимаю
если в prompt() ничего не ввели то придет пустая строка. если нажали отмена то null
Константин Большаков А причём тут prompt и этот массив?
var a = new Array();
// BLAH
var empty = (a.length == 0);
Владимир Сушко
Владимир Сушко
21 154
Можно проверить его длину. и всё. Все параметры универсальные, обязательно записывается длинна.
_Worldwide_ The-Best
_Worldwide_ The-Best
4 581
спросите на cyberforum.ru
Ivan Romanec
Ivan Romanec
1 411
Андрей Сорокин Ты к каждому ответу будешь это писать? :D