2015-05-14 4 views
0

Что бы самый простой способ проверить неопределенны, Null и «» в этом случае:Проверка нескольких значений в объекте

Я получаю объект, который может иметь и из этих трех состояний, и он приходит в форма:

изображений [0] .url

изображения может не существует на всех изображения могут иметь свойство URL-адрес нулевой изображения может иметь свойство «»

я использовал, если (изображения [ 0]), но он охватывает только существование [0], а не глубже. Как я могу решить эту проблему без инструкции switch.

Я пытался что-то вроде этого:

if((object.images[0]) || (object.images[0].url)){ 

} else { 

} 

Но если [0] существует и URL нет, то я получаю это. Uncaught TypeError: Не удается прочитать свойство 'url' of undefined

+0

Хотя некоторые могут не согласиться, вы можете рассмотреть возможность использования 'try/catch'. –

ответ

1

Вы получаете эту ошибку при объекте. изображений [0] не существует. Чтобы избежать этого, вы могли бы пройти постепенную проверку.

if(object.images && object.images[0] && object.images[0].url){ 
//do stuff 
} 
+1

Я думаю, что ваши оригинальные '&&' были правильными. –

+0

Я не был уверен, спасибо @torazaburo – shershen

Смежные вопросы