我在这里有这个对象数组,我正在遍历,并且如果当前索引处的人的年龄在数组中其他任何人的+/- 10年之内,则希望显示匹配。但是,当我运行它时,它说“无法读取未定义的属性'年龄'。”我哪里出错了?
function findmatches() {
var n = USERS.length;
for (var i = 0; i < n; i++) {
var currName = USERS[i].firstName;
var currAge = USERS[i].age;
var currGender = USERS[i].gender;
for (var c = 0; c < 10; c++) {
if (((USERS[c].age) + 10) <= currAge) {
document.getElementById("showmatches").innerHTML += currName + " matched to >> " + USERS[i].firstName + " " + USERS[i].lastName + " \n";
break;
}
}
}
}
答案 0 :(得分:0)
你的第二个for
循环到底应该做什么?
在您发布的代码中,它会遍历USERS
数组中的前10个用户。我认为它的用户数少于此数,因此在某些时候USERS[c]
为undefined
,并且您尝试访问USERS[c].age
。