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>
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>
Константин Большаков
и как это внедрить в мой код
Константин Большаков
и я вобще ничего не понимаю
если в prompt() ничего не ввели то придет пустая строка. если нажали отмена то null
Константин Большаков
А причём тут prompt и этот массив?
var a = new Array();
// BLAH
var empty = (a.length == 0);
// BLAH
var empty = (a.length == 0);
Можно проверить его длину. и всё. Все параметры универсальные, обязательно записывается длинна.
Константин Большаков
PlaceOfTheShip.lenght != 0
спросите на cyberforum.ru
Андрей Сорокин
Ты к каждому ответу будешь это писать? :D
Похожие вопросы
- Java Script задание с массивом
- В чем разница C++ и Java-Script
- Java script (нужен код для wallpeper engine)
- Подскажите, как сделать мигание букв в java Script
- Здравствуйте, друзья! Нужна помощь в CSS3, HTML 5 и Java Script
- Шахматная доска Нужен код шахматной доски используя java script и table-td-tr,напишите код пожалуйстаю
- Что может ява скрипт (Java Script)? Опишите в кратце.
- подключение и доступ к файлам java script
- Java Script простым языком
- Задача на Java Script. Олень взял в "Быстрозайм" $10 под 10% в день. Сколько он будет должен отдать через 100 дней?