2017-05-17 2 views
0

기능에 사용하기 위해 객체 내에서 키를 액세스 이 :내가 중첩 된 개체가

doSomething2 = function(incObj){ 
    //myObj.child.key1; 
    var str = incObj.id + ' ' + incObj.child.id + ' ' + incObj.child.key; 
    //str = 'AA BB CC'; 
    console.log(str); 

} 
doSomething2(myObj.child.key1); 

깨끗하고 간단한 방법이 있습니까?

답변

0

이미 답변을 찾았습니다. 당신은 단지 객체를 통과 시키면 완료됩니다.

대상 :

myObj = { 
    id:'AA', 
    child:{ 
     id:'BB', 
     key1:'CC' 
    }, 
    child2:{ 
     id:'DD', 
     key1:'EE' 
    }, 

}; 

기능 : 당신이 그 일을

doSomething2 = function(incObj){ 
    //myObj.child.key1; 
    var str = incObj.id + ' ' + incObj.child.id + ' ' + incObj.child.key1; 
    console.log(str); 

} 
doSomething2(myObj); 
+0

STR은 AA BB와 정의되지 않은 될 것입니다, 당신은 ... 코드 ... 죄송합니다, 업데이트 –

+0

를 업데이트해야합니다! 내 나쁜 .... –

0

방법 :

myObj = { 
 
    id:'AA', 
 
    child:{ 
 
     id:'BB', 
 
     key1:'CC' 
 
    }, 
 
    child2:{ 
 
     id:'DD', 
 
     key1:'EE' 
 
    }, 
 

 
}; 
 

 
doSomething2 = function(incObj){ 
 
    //myObj.child.key1; 
 
    var str = incObj.id + ' ' + incObj.child.id + ' ' +incObj.child.key1; 
 
    //str = 'AA BB CC'; 
 
    console.log(str); 
 

 
} 
 
doSomething2(myObj);

myObj = { 
 
    id:'AA', 
 
    child:{ 
 
     id:'BB', 
 
     key1:'CC' 
 
    }, 
 
    child2:{ 
 
     id:'DD', 
 
     key1:'EE' 
 
    }, 
 

 
}; 
 

 
var config = { 
 
    "child" : "child2", 
 
    "key" :"key1" 
 
} 
 

 
doSomething2 = function(incObj, config){ 
 
    //myObj.child.key1; 
 
    var str = incObj.id + ' ' + incObj[config.child].id + ' ' +incObj[config.child][config.key]; 
 
    //str = 'AA BB CC'; 
 
    console.log(str); 
 

 
} 
 
doSomething2(myObj,config);

+0

이 유일한 작품, 내가 key1 찾고 있다면, 만약 내가 child1 또는 key2 찾고 있었습니까? – ALAVGUY

+0

업데이트 된 코드 스 니펫을 참조하십시오. 이것은 그것을 할 수있는 방법 일 수 있습니다. –

관련 문제