var friends = {
bill: {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way','Redmond','WA','98052'],
},
steve: {
firstName: "Steve",
lastName: "Jobs",
number: "(408) 555-5555",
address: ['1 Infinite Loop','Cupertino','CA','95014']
}
};
var list = function(friends) {
for (var i in friends) {
console.log(friends[i]);
}
};
我被要求将两个对象的名称记录到控制台,但我对如何执行此操作感到困惑。 Codecademy并没有让我明白这一点。你能?期望的输出:
bill
steve
注意:我不想要朋友[i] .firstname,我想要朋友的名字[i]。
答案 0 :(得分:1)
在这种情况下,i
本身就是属性名称
for (var i in friends) {
console.log(i);
}
答案 1 :(得分:0)
应该是:
for (var i in friends) {
console.log(i);
}
这是因为for
... in
遍历对象的键。
另外,我建议使用其他变量名称,例如friend
而不是i
,因为i
通常表示数字或索引。
答案 2 :(得分:0)
你必须像这样调用函数list
list(friends);
在list
中,你只需打印这样的名字
var list = function(friends) {
for (var name in friends) {
console.log(name);
}
};
在ES5支持的实现中,您只需使用
即可Object.keys(friends);
如果您使用underscore.js,则可以使用_.keys
,就像这样
_.keys(friends);