Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка - наполнен ли хэш, Как проверить наполнен ли объявлнный хэш 
V
    Опции темы
InfMag
Дата 7.8.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



Всем доброго времени суток! Я пишу себе "боепакет" функций, дабы в будущем использовать уже набитый набор. Вот пишу функцию для проверки, заполнена ли переменная, но возникла загвоздка с объектами, если объявлена какая-нибудь var vv = new Object(); то определить заполнена ли она также как массив не получается, вообще не знаю как определить хэш как тип, чтобы отличать его от массива. Вот что уже есть:
Код

function is_set(variable) // Проверка на существование переменной.
{
    return (typeof(variable) != "undefined");
}

function is_filled(variable) // Проверка - заполнена ли переменная, также проверяет существует ли она дабы избежать ошибок.
{
    if (typeof(variable)=="object") // для массивов
        return (is_set(variable) && variable.length>0);
    else if (typeof(variable)=="boolean") // для флагов
        return (is_set(variable) && (variable===true||variable===false));
    else if (typeof(variable)=="number") // для чисел
        return (is_set(variable) && parseInt(variable)===variable);
    else // для строк, так же будет применяться ко всему остальному
        return (is_set(variable) && variable!="");
}

PM   Вверх
InfMag
Дата 7.8.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



Сделал несколько изощрённым способом сам, зато работает!
Код

function is_set(variable) // Проверка на существование переменной.
{
    return (typeof(variable) != "undefined");
}

function is_filled(variable) // Проверка - заполнена ли переменная, также проверяет существует ли она дабы избежать ошибок.
{
    var object_filled = false;
    if (is_set(variable))
    {
        if (typeof(variable)=="object") { // для массивов и объектов
            if (variable.length>0) return true; else {
                for (var k in variable) if (!object_filled) object_filled = true;
                return object_filled;
            }
        } else if (typeof(variable)=="boolean") // для флагов
            return (variable===true||variable===false);
        else if (typeof(variable)=="number") // для чисел
            return (parseInt(variable)===variable);
        else // для строк, так же будет применяться ко всему остальному
            return (variable!="");
    } else return false;
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.