Javascript for-in 循环问题
Javascript for-in loop issue
我现在正在学习 codecademy,我对涉及 for-in 循环的一课有疑问。这个练习的要求是记录 "bill" 和“steve 到控制台。但是,除了记录这两个字符串之外,我得到了整个数组。这里发生了什么?
var friends = {
bill: {firstName: "Bill",
lastName: "Ferny",
number: "452-556-5412",
address: ['One Bree Hill', 'Bree', 'Middle Earth', '00000']
},
steve: {firstName:"Steve",
lastName:"Rogers",
number:"805-223-5568",
address: ['1500 Settlers Court', 'Paso Robles', 'CA', '93446']
}
};
var list = function (friends) {
for (var p in friends) {
console.log(friends[p]);
}
};
list(friends);
将console.log(friends[p]);
改为console.log(friends[p].firstName);
。
在 for-in
循环中,变量设置为 属性 名称。因此,如果您想记录 属性 名称,请使用 console.log(p)
。 friends[p]
是 属性 名称在对象中映射到的值。
您需要进一步说明您想要什么。
这个:
console.log(friends[p]);
应该改成这样:
console.log(friends[p].firstName);
您的代码仅获取与 friends[bill]
和 friends[steve]
关联的所有属性。你想要他们的名字,所以你必须使用点符号并将 .firstName
添加到 console.log()
语句的末尾。
正如其他人所指出的,您也可以使用 console.log(p)
来记录 属性 名称(例如 bill 和 steve),但由于您在 Codecademy 上,我认为他们会需要您使用我提到的第一种方法。
我现在正在学习 codecademy,我对涉及 for-in 循环的一课有疑问。这个练习的要求是记录 "bill" 和“steve 到控制台。但是,除了记录这两个字符串之外,我得到了整个数组。这里发生了什么?
var friends = {
bill: {firstName: "Bill",
lastName: "Ferny",
number: "452-556-5412",
address: ['One Bree Hill', 'Bree', 'Middle Earth', '00000']
},
steve: {firstName:"Steve",
lastName:"Rogers",
number:"805-223-5568",
address: ['1500 Settlers Court', 'Paso Robles', 'CA', '93446']
}
};
var list = function (friends) {
for (var p in friends) {
console.log(friends[p]);
}
};
list(friends);
将console.log(friends[p]);
改为console.log(friends[p].firstName);
。
在 for-in
循环中,变量设置为 属性 名称。因此,如果您想记录 属性 名称,请使用 console.log(p)
。 friends[p]
是 属性 名称在对象中映射到的值。
您需要进一步说明您想要什么。
这个:
console.log(friends[p]);
应该改成这样:
console.log(friends[p].firstName);
您的代码仅获取与 friends[bill]
和 friends[steve]
关联的所有属性。你想要他们的名字,所以你必须使用点符号并将 .firstName
添加到 console.log()
语句的末尾。
正如其他人所指出的,您也可以使用 console.log(p)
来记录 属性 名称(例如 bill 和 steve),但由于您在 Codecademy 上,我认为他们会需要您使用我提到的第一种方法。