gpt4 book ai didi

javascript - 为什么我无法读取传递给函数的对象的属性?在 JavaScript 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:20 26 4
gpt4 key购买 nike

我在函数 getOlder() 中遇到下一个错误:
类型错误:无法读取未定义的属性“年龄”

问题是什么以及如何解决?

function person(name, age) {
this.name=name;
this.age=age
}

// Returns the older person in a group of persons.
var getOlder = function(people) {
if (people.length === 0) {
return new person();
}

var older = people[0]; // The first one is the older for now.

var value;
for (var _ in people) {
value = people[_];
if (value.age > older.age) {
older = value;
}
}
return older;
};

// Declare some persons.
var paul = new person("Paul", 23);
var jim = new person("Jim", 24);
var sam = new person("Sam", 84);
var rob = new person("Rob", 54);
var karl = new person("Karl", 19);

var older = getOlder(paul, jim);
if (older.name !== "Jim") {
console.log("Fail");
}

最佳答案

查看函数的签名:

var getOlder = function(people) {

您没有创建接受两个人对象的函数。您显然只接受一个数组,因为您在函数内部使用 people.lengthpeople[0]。所以你还必须传递一个数组:

var older = getOlder([paul, jim]);

关于javascript - 为什么我无法读取传递给函数的对象的属性?在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com