Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2011, 07:26   #1
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию Определить, что ассоциативный массив пустой

Достаточно глупая задача, на которую Я не смог найти ответ.

Как определить, что ассоциативный массив пустой, т.е. в нём нет элементов? Либо то, что он не пустой.
Виталий Желтяков вне форума Ответить с цитированием
Старый 25.10.2011, 10:05   #2
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

Код:
counter=0;
for (var i in arr) if (arr[i]!="") counter++;
arr - ваш массив. после выполнения в counter будет количество не пустых элементов.

Сотвественно, если вы хотите просто посчитать кол-во элементов в массиве (и пустых и не пустых):

Код:
counter=0;
for (var i in arr) counter++;
KPEATuBHO вне форума Ответить с цитированием
Старый 25.10.2011, 11:52   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

То есть определить пустоту ассоциативного массива в JS можно только перебором?
Виталий Желтяков вне форума Ответить с цитированием
Старый 25.10.2011, 16:16   #4
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

http://ru.w3support.net/index.php?db=so&id=5223
Цитата:

PHP код:
Object.size = function(obj) { 
    var 
size 0key
    for (
key in obj) { 
        if (
obj.hasOwnProperty(key)) size++; 
    } 
    return 
size
}; 
// Get the size of an object 
var size Object.size(myArray); 

Укажите размер прототипов () для объекта:

PHP код:
Object.prototype.size = function () {
  var 
len this.length ? --this.length : -1;
    for (var 
k in this)
      
len++;
  return 
len;

Затем создайте объект:
PHP код:
var myArray = new Object();
myArray["firstname"] = "Gareth";
myArray["lastname"] = "Simpson";
myArray["age"] = 21
После этого вы можете делать такие вещи:

PHP код:
alert("age is " myArray["age"]);
alert("length is " myArray.size()); 
PHP код:
Object.prototype.size = function () { 
  var 
len this.length ? --this.length : -1
    for (var 
k in this
      
len++; 
  return 
len


var 
myArray = new Object(); 
myArray["firstname"] = "Gareth"
myArray["lastname"] = "Simpson"
myArray["age"] = 21
alert("age is " myArray["age"]); 
alert("length is " myArray.size()); 
PHP код:
var element_count 0;
for (
e in myArray) { element_count++; } 
................

Последний раз редактировалось Lesha; 25.10.2011 в 16:28.
Lesha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассоциативный массив iMax` Общие вопросы C/C++ 2 03.02.2011 09:37
SOAP и ассоциативный массив Zigmuntfreyd Работа с сетью в Delphi 1 12.07.2010 16:55
ассоциативный массив или что это? Manonia Общие вопросы .NET 0 18.05.2010 07:31
Ассоциативный массив phpcreator Помощь студентам 0 14.05.2010 20:18
Ассоциативный массив. Map phpcreator Помощь студентам 0 08.05.2010 11:57