首页 > 解决方案 > 显示对象和数组中的名字

问题描述

我有一个名为 people 的数组,其中包含对象和数组。我试图让兄弟姐妹数组中的所有名字都显示出来。我有一个显示 John 和 Maria 的 for 循环,但是当我调用兄弟姐妹时,显示的唯一名字是 Jenny 和 Jose。我尝试了不同的方法,有没有办法显示兄弟数组中的所有名字?

var persons = [{
  firstName:"John", 
  lastName:"Doe", 
  age:50, 
  eyeColor:"blue",
  weight: 180,
  siblings: [
    {firstName:"Jenny",
     age:43,
     eyecolor:"brown",},
   {firstName:"Jim",
     age:35,
     eyecolor:"green",},
   {firstName:"Joe",
     age:29,
     eyecolor:"black",},
     ] },

  {firstName:"Maria", 
  lastName:"Lopez", 
  age:19, 
  eyeColor:"brown",
  weight: 120,
  siblings: [
    {firstName:"George",
     age:25,
     eyecolor:"brown",},
   {firstName:"Jose",
     age:20,
     eyecolor:"green",},
    ]},
  
];

  for(i=0; i<persons.length; i++){
    console.log(persons[i].firstName);
    console.log(persons[i].siblings[i].firstName);
  }

标签: javascriptarraysobject

解决方案


您应该使用 Array.forEach() 方法轻松地循环遍历数组项。然后只是 console.log 名字。

var persons = [{
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue",
    weight: 180,
    siblings: [{
        firstName: "Jenny",
        age: 43,
        eyecolor: "brown",
      },
      {
        firstName: "Jim",
        age: 35,
        eyecolor: "green",
      },
      {
        firstName: "Joe",
        age: 29,
        eyecolor: "black",
      },
    ]
  },

  {
    firstName: "Maria",
    lastName: "Lopez",
    age: 19,
    eyeColor: "brown",
    weight: 120,
    siblings: [{
        firstName: "George",
        age: 25,
        eyecolor: "brown",
      },
      {
        firstName: "Jose",
        age: 20,
        eyecolor: "green",
      },
    ]
  },

];

persons.forEach(person => console.log(person.firstName))


推荐阅读