Задать вопрос

Как проверить несколько переменных JS?

Здравствуйте!
Изучаю javascript и столкнулся с проблемой, не могу понять как проверить несколько переменных на "undefined"?
Имею:
var size1 = data.item[1].name;
  var size2 = data.item[2].name;

Проверять каждую переменную не совсем удобно когда их порядка 10.
Подскажите как осуществляется проверка?
  • Вопрос задан
  • 3006 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Зачем вам переменные? Создайте объект с полями и цикл к вашим услугам. Не нужно больше свойство — удаляем и всё.
var myObject = {
	name: data.page.properties.group[4].property[1].value.value,
	description: data.page.properties.group[4].property[1].value.value
};
...
for (var i in myObject) {
	//И тут мы имеем дело со свойством i и значением myObject[i]
}
...
delete myObject.description;
Ответ написан
barkalov
@barkalov
Во-первых, надо сказать, что проверка на undefined в javascript - та ещё боль. В coffescript и подобном всё, вроде как, лучше.

Во-вторых, ответ. Как я понял, вам нужно обойти всё дерево объекта\массива и проверить на undefined?
Рекурсивно:
function checkUndef(node) {
    if (node === undefined) return true;
    if (typeof node === 'object') {                
        for (var iNode in node) {
            if ( checkUndef(node[iNode]) ) return true;
        }
    }
    return false;            
}


Или вы просто просто хотите безопасно проверить ветку? Это, кстати, признак того, что в коде что-то не так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ixon
@ixon

Например с помощью цикла.
Ответ написан
var size1 = data.item[1].name || 'defaultValue';
var size2 = data.item[2].name || 'defaultValue';
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы