如何在javascript中访问Object中的Object

How to access an Object in an Object in javascript

本文关键字:Object 访问 中的 javascript      更新时间:2023-09-26

嗨,我有一个"persons"对象,它包含四个"person"对象

[Object, Object, Object, Object]

反过来,每个"person"对象都包含键和值。如何在Javascript中访问这些值?例如,尝试这样访问他们的"名称"字段是行不通的:

for(var person in data.persons) {
    var nameList = nameList + person.name; 
}

我是JS新手。谢谢

由于persons对象实际上是一个Array,您可以使用简单的for访问它,但使用索引变量进行迭代,如下所示:

var nameList = '';
for (var i=0, person; person = data.persons[i]; i++) {
    nameList += person.name;
}

或者最终,像这样:

var nameList = '';
for (var i=0; i < data.persons.length; i++) {
    nameList += data.persons[i].name;
}

您在那里所做的是对索引进行迭代,因此person变量包含一个索引号,而不是一个person对象:

for(var person in data.persons) {
    // person will be 0, 1, 2, 3...
    // by the way you can still do:
    nameList += data.persons[person].name;
}

不能在循环中使用for和数组。请使用带有计数器的for循环。

for (var i = 0; i < data.persons.length; i++) {
    var person = data.persons[i];
    var nameList = nameList + person.name; 
}

Mb它是因为你的语法吗?尝试并显示您的输出:

var nameList = '';
var test = {name: 'Joe'};
var persons = [test, test];
persons.forEach(function(v, i){
  console.log(v.name);
  console.log("index = " + i);
  nameList = nameList + v.name; 
});
console.log(nameList);

p.s编辑和检查,一切都好!