Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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_Node.js_Oop - Fatal编程技术网

循环中嵌套对象的Javascript调用方法

循环中嵌套对象的Javascript调用方法,javascript,node.js,oop,Javascript,Node.js,Oop,我相信这个指向的对象是错误的,但是我不知道如何循环一个对象,在每次迭代中,从嵌套的对象调用一个方法 例如: var obj = { one: { id: 1, name: 'one', getName: function() { return this.name(); } }, two: { id: 2, name: 'two', getName: function() { return this.nam

我相信
这个
指向的对象是错误的,但是我不知道如何循环一个
对象
,在每次迭代中,从嵌套的
对象
调用一个
方法

例如:

var obj = {
  one: {
    id: 1,
    name: 'one',
    getName: function() {
      return this.name();
    }
  },
  two: {
    id: 2,
    name: 'two',
    getName: function() {
      return this.name();
    }
  }
};

for (var key in obj) {
  console.log(key.getName());
}

这将返回错误
对象一没有方法getName
。如何访问嵌套的
方法?

您需要使用键访问内部对象。另外,返回
name
作为属性,而不是方法调用

var obj={
一:{
id:1,
名称:“一”,
getName:function(){
返回此.name;
}
},
二:{
id:2,
姓名:"两",,
getName:function(){
返回此.name;
}
}
};
for(obj中的var键){
log(obj[key].getName());

}
不确定这是否适合您所做的,但看起来您的外部对象应该是一个对象数组,而不是在这种情况下可以使用的对象的对象,但片段已被剥离。项目需要一个对象。