Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как получить родителя объекта? (https://javascript.ru/forum/jquery/51837-kak-poluchit-roditelya-obekta.html)

ilya2306 21.11.2014 12:50

Как получить родителя объекта?
 
Функция поиска строки внутри объекта
function search(obj){
    for (var keys in obj){
        if(typeof obj[keys] = "object"){
            search (obj[keys]);
        else{
            if(obj[keys] === text)
                console.log(text, " найден в объекте ", ИМЯ РОДИТЕЛЯ);
        }
    }
}


Имеется объект:
obj:{
    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 = "text";

search (obj);


Т.е. в результате работы функции мы находим a_val2 === "text". Надо вывести в консоль "a"

Заранее спасибо!

ksa 21.11.2014 15:21

ilya2306, ты хоть без ошибок "примеры" свои выкладывай...

var obj={
    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 = "text";
search (obj);
function search(obj,key){
	key=key||'';
	var d=(key=='')? '': '->';
    for (var keys in obj) {
        if(typeof obj[keys] == "object"){
            search (obj[keys],keys);
        } else {
            if(obj[keys] === text)
                alert(text+ " найден в ключе "+ key+d+keys);
        };
    };
};


Часовой пояс GMT +3, время: 10:52.