JavaScript - 从对象数组打印不起作用

时间:2017-11-05 05:34:25

标签: javascript arrays object

我在这里有这个对象数组,我正在遍历,并且如果当前索引处的人的年龄在数组中其他任何人的+/- 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;
      }
    }    
  }
}

1 个答案:

答案 0 :(得分:0)

你的第二个for循环到底应该做什么?

在您发布的代码中,它会遍历USERS数组中的前10个用户。我认为它的用户数少于此数,因此在某些时候USERS[c]undefined,并且您尝试访问USERS[c].age