数组循环中的Javascript对象

启发开发者

以下是代码学院的编码练习,其目的是打印名称属性。您能否解释一下错误以及如何解决该错误。我的代码如下所示:

 // Our Person constructor
 function Person(name, age) {
 this.name = name;
 this.age = age;
 }

var family = new Array();
family[0] = new Person("alice", 40);
family[1] = new Person("bob", 42);
family[2] = new Person("michelle", 8);
family[3] = new Person("timmy", 6);

for (var i = 0; i <= family.length; i++) {
console.log (family[i].name);
};  
// Now we can make an array of people

// loop through our new array

OUTPUT :
alice
bob
michelle
timmy

---
We're running a test below to make sure your code works.
alicebobmichelletimmy
TypeError: Cannot read property 'name' of undefined

------------------------------------------
Many thanks. 
李安德

在循环中,您耗尽了数组的边界。考虑以下。

我有一个由3个项目组成的数组,索引为0、1、2。如果将<=运算符用于条件循环,它将产生以下结果:0、1、2、3。由于3不存在,因此未定义,并且它找不到属性名称。

数组从0开始,这意味着索引从零开始。如果我们有一个包含3个元素的数组,则长度为3,但最大索引为2(0、1、2)。如果for循环即使索引等于长度也继续循环,则它将返回undefined,因为数组中的该元素不存在。

在您的情况下,您在一个数组中有4个元素,所有Person对象。它们通过索引0、1、2和3进行访问。如果循环在3之后继续并检查是否i等于长度(4),它将尝试检查数组的第4个元素,而不是之所以存在,是因为带有元素的数组长度只有4个,而不是5个。

像这样重写for循环:

for (var i = 0; i < family.length; i++) {
    console.log (family[i].name);
}; 

这将防止循环迭代到未知索引。当所有元素都循环通过时,它将停止循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数组的javascript循环中使用对象名称

来自分类Dev

在JavaScript循环中创建对象数组时出错

来自分类Dev

Javascript在for循环中创建数组

来自分类Dev

如何从for循环中删除数组对象

来自分类Dev

javascript-自定义对象原型方法变成数组循环中的索引

来自分类Dev

如何将对象数组的 id 与循环中的键等同起来?Javascript

来自分类Dev

javascript vuejs对象数组只返回循环中的一项

来自分类Dev

循环中嵌套对象的JavaScript调用方法

来自分类Dev

在“ for”循环中获取Javascript对象内部

来自分类Dev

在javascript for循环中随机复制多个对象

来自分类Dev

Javascript将函数推入循环中的数组

来自分类Dev

回调循环中的Javascript数组变异

来自分类Dev

使用javascript循环对象数组

来自分类Dev

在 JavaScript 中循环对象数组

来自分类Dev

JavaScript遍历对象属性-卡在循环引用循环中

来自分类Dev

Javascript使数组的数组变平,但是我在for循环中遇到错误?

来自分类Dev

循环中的数组中的foreach对象不起作用

来自分类Dev

在angularjs的for循环中将对象添加到数组

来自分类Dev

将对象分配给VBA循环中的数组

来自分类Dev

循环中的打字稿,遍历对象或数组的联合类型

来自分类Dev

如何创建在FOR循环中使用的图像对象数组?

来自分类Dev

延迟将新对象添加到循环中的数组

来自分类Dev

如何在for循环中的php中访问数组中的对象?

来自分类Dev

在循环中组合来自 2 个数组的 2 个对象?

来自分类Dev

javascript:如何在for循环中使用javascript数组

来自分类Dev

在循环中创建对象

来自分类Dev

循环中对象的范围

来自分类Dev

在for循环中调用对象

来自分类Dev

在循环中创建对象

Related 相关文章

热门标签

归档