Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问对象中用于函数的键_Javascript_Object_Nested - Fatal编程技术网

Javascript 访问对象中用于函数的键

Javascript 访问对象中用于函数的键,javascript,object,nested,Javascript,Object,Nested,我有一个嵌套对象: myObj = { id:'AA', child:{ id:'BB', key1:'CC' }, child2:{ id:'DD', key1:'EE' }, }; 我还有一个功能,目前正在执行此操作: doSomething = function(id,childid,key){ var str = id + childid + key; console.log(str); }; do

我有一个嵌套对象:

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

};
我还有一个功能,目前正在执行此操作:

doSomething = function(id,childid,key){
  var str = id + childid + key;
  console.log(str);
};
doSomething(myObj.id,myObj.child.id,myObj.child.key1);
我想简化为:

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);

有没有一种干净/简单的方法可以做到这一点?

你已经自己找到了答案。你只需传递对象,它就完成了

对象:

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);
你这样做的方式:

myObj={
id:'AA',
儿童:{
id:'BB',
键1:“CC”
},
儿童2:{
id:'DD',
键1:“EE”
},
};
doSomething2=功能(incObj){
//myObj.child.key1;
var str=incObj.id+''+incObj.child.id+''+incObj.child.key1;
//str=‘AA BB CC’;
console.log(str);
}

doSomething2(myObj)这只起作用,如果我在寻找key1,如果我在寻找child1或key2呢?请参阅更新的代码片段。这可能是一种方法。