@alenaamirat

Как получить верхний уровень объекта в Javascript?

Есть объект, нужно по значению получить его верхний уровень
top: {
   level1 : {
       level2: {
         ...
          { 
            levelN: {
              key: value
         }
      }
   }
}


Найти top по value
search( obj, value)
// top

данный код для меня не работает
var origObj = {
        a: {
            a_val1: {
                a_val1_a: "some text"
            },
            a_val2: "text"
        },
        b: {
            b_val1: {
                b_val1_a: "one more",
                b_val2_a: "one more2"
            },
            b_val2: "this is string"
        }
    }

    var text = "one more2";

    function search(obj, path) {

        obj._path = path;

        for (var key in obj) {

            if (!obj.hasOwnProperty(key) || key === '_path') {
                continue;
            }

            obj[key]._path = (obj._path + "." + key);

            if (typeof obj[key] === "object") {
                search(obj[key], obj[key]._path);
            }
            else if (obj[key] === text) {
                console.log(text, " найден в объекте: " + obj._path + " , свойсво: " + key);
            }

        }

    }

    search(origObj, "origObj");
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Санкт-Петербург
от 160 000 до 220 000 ₽
08 мар. 2021, в 08:37
3000 руб./за проект
08 мар. 2021, в 07:04
3000 руб./за проект
08 мар. 2021, в 06:23
12000 руб./за проект