3 javascript properties object
我在函数getOlder()中遇到下一个错误:
TypeError:无法读取未定义的属性'age'
有什么问题以及如何解决?
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");
}
Run Code Online (Sandbox Code Playgroud)
看看你的功能的签名:
var getOlder = function(people) {
Run Code Online (Sandbox Code Playgroud)
您没有创建函数,因此它接受两个人对象.你显然只接受一个数组,因为你正在使用people.length和people[0]在函数内部.所以你还必须传递一个数组:
var older = getOlder([paul, jim]);
Run Code Online (Sandbox Code Playgroud)