for...in key values in key values instanced object 而不是 forEach in JavaScript

for...in key values instanced object instead forEach in JavaScript

有没有什么方法可以用 for...in key values 实例化对象代替 forEach?使用 forEach 对我来说很容易,但我正在寻找使用 for...in.

我为每个人做了这个:

function Person(fullName, gender, city) {
    this.fullName = fullName;
    this.gender = gender;
    this.city = city;
}

var person01 = new Person("Nancy", "Female", "Los Angeles");
var person02 = new Person("James", "Male", "New York");
var person03 = new Person("Lucia", "Female", "Santa Barbara");


//To do the loop
var persons = [
    {fullName: "Nancy", gender: "Female", city: "Los Angeles"},
    {fullName: "James", gender: "Male", city: "New York"},
    {fullName: "Lucia", gender: "Female", city: "Santa Barbara"},
]

function listNames(myObject) {

    persons.forEach(function(obj) {
        console.log(obj.fullName);  
    });
}

listNames(persons);
//Nancy, James, Lucia

这种方法可行,但我需要了解 for in 的工作原理。

尝试以下操作:

for(var key in myObject){
  console.log(myObject[key].fullName);
}

工作示例:

function Person(fullName, gender, city) {
    this.fullName = fullName;
    this.gender = gender;
    this.city = city;
}

var person01 = new Person("Nancy", "Female", "Los Angeles");
var person02 = new Person("James", "Male", "New York");
var person03 = new Person("Lucia", "Female", "Santa Barbara");


//To do the loop
var persons = [
    {fullName: "Nancy", gender: "Female", city: "Los Angeles"},
    {fullName: "James", gender: "Male", city: "New York"},
    {fullName: "Lucia", gender: "Female", city: "Santa Barbara"},
]

function listNames(myObject) {
  for(var key in myObject){
    console.log(myObject[key].fullName);
  }
}

listNames(persons);