2017-07-25 96 views
1

在下面的代码中,我试图打印出数组的第一个值(名称),但它不起作用,如我所料:我只想打印数组中的第一个值(名称)

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


// Now we can make an array of people 
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); 
// loop through our new array 
for(i = 0; i <= family.Length; i++) { 
    console.log(family[i].this.name); 
} 
+3

'Length'不应该大写。 – Turnip

+0

循环应该是'我 deceze

+1

您应该使用'family.push(...)'将元素添加到数组中,而不是手动跟踪索引。 – deceze

回答

0

要想从数组的第一个项目,你可以做下面的无环路:

console.log(family[0].name); 

没有循环,因为循环是不必要的,如果你知道你要打印的项目。

或者,如果环是必要的,你可以添加一些逻辑,如

if(i === 0) { 
    console.log(family[0].name); 
} 

访问阵列中的对象的name属性时你并不需要使用this

3

您正在错误地使用“this”关键字。当您访问family [i]时,您已经在JavaScript中访问该原型的实例。只要放下“这个”。

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


// Now we can make an array of people 
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); 

// loop through our new array 
for(i = 0; i < family.length; i++) { 
    console.log(family[i].name); 
} 
相关问题