Страницы

Поиск по вопросам

среда, 1 января 2020 г.

Как найти объект в объекте?

#javascript


Здравствуйте.
Допустим, у нас есть некий объект. Его структуру и то, что внутри, мы не знаем, но
знаем, что там должен быть, например, объект innerObject, который может находится где
угодно внутри. Вот пример объекта:

var someObj1 = {
    io1: {sIo1:{ssIo01:'что-то'}}
    oi2: {
        sIo1:{
            innerObject: {/*внутренности объекта*/}
        }
    }
}

И структура этого объекта и то, где будет находиться наш innerObject, нам не известно.
Известно еще то, что innerObject находится НЕ в массиве.
Как найти в некотором объекте, объект innerObject?

PS:
Без использования каких-либо библиотек.    


Ответы

Ответ 1



function checkInObject( obj, name ) { var res = null; for( var i in obj ) { if(obj.hasOwnProperty(i)) { if(i === name) { res = obj[i]; break; } if(obj[i] && obj[i].constructor === Object) { var check = checkInObject( obj[i], name ); if( check ) { res = check; break; } } } } return res; } var someObj1 = { io1: {sIo1:{ssIo01:'что-то'}}, oi2: { sIo1:{ innerObject: { test : "done" } } } } console.log(checkInObject( someObj1, 'innerObject' ).test); // -> done

Комментариев нет:

Отправить комментарий