遍历纯对象中的嵌套对象

looping through nested objects in object pure

如何在不创建函数且不使用 ECMASCRIPT 新属性(如 Object.entries 等)的情况下遍历对象中的嵌套对象。这包括不使用 JSON。只是香草 javascript。而是使用纯 .notation 或方括号(我想了解它是如何工作的,而不仅仅是解决我的问题)。这是我的代码。

var obj = { name1:{fname:'jack',sname:'smith',age:31},
            name2:{fname:'john',sname:'dill',age:55}}

如何使用 for in 循环打印每个键和每个值

如果我没记错的话,你正在找这样的东西吗?

for(var property in obj) {
    for(var property2 in obj[property]) {
        console.log('key:' + property2 + '   ' + 'value:' + obj[property][property2]);
    }
}

var obj = {
  name1: {
    fname: 'jack',
    sname: 'smith',
    age: 31
  },
  name2: {
    fname: 'john',
    sname: 'dill',
    age: 55
  }
}

for (let property in obj) {
  let innerObj = obj[property];
  console.log(`${property} : ${obj[property]}`)
  for (let innerProperty in innerObj) {
    console.log(`${innerProperty} : ${innerObj[innerProperty]}`)
  }
}

嗨,乔。 for..in 循环是这样工作的。您创建循环:for (let property in obj),当您在循环中时,您可以访问对象的 属性 值,如 obj[property]。在此示例中,我创建了一个内部循环,因为您的外部对象具有也是对象的属性值。希望这可以帮助!尝试阅读 for...in here.

这里可能值得指出的是,您组织这些数据的方式并不理想。如果您在对象中没有名称 属性 而只是使用一个数组,那将会简单得多。那么您的数据将如下所示:

var array = [{ fname: 'jack', sname: 'smith', age: 31 },
{ fname: 'john', sname: 'dill', age: 55 }];