Ошибка при попытке проверить тип undefined json object

Когда я пытаюсь проверить, определено ли [действие], я продолжаю получать ошибки javascript.

if((typeof array_from_php.api_description[mobile_type][action]) != 'undefined') {
 console.log('defined');
 api = array_from_php.api_description[mobile_type][action];
 } else {
 console.log('undefined');
 mobile_type = 0;
 api = array_from_php.api_description[mobile_type][action];
 }

Ошибка: Uncaught TypeError: Невозможно прочитать свойство "register_mobile" неопределенного

1 ответ

вам нужно проверить каждое свойство, например

if(array_from_php && array_from_php.api_description && array_from_php.api_description[mobile_type] && (typeof array_from_php.api_description[mobile_type][action]) != 'undefined') {
 console.log('defined');
 api = array_from_php.api_description[mobile_type][action];
} else {
 console.log('undefined');
 mobile_type = 0;
 api = array_from_php.api_description[mobile_type][action];
}

licensed under cc by-sa 3.0 with attribution.