我正在做codeacademy类部分"建立一个联系人列表"..这里有什么问题?继续收到错误"哎呀,再试一次.看起来你的搜索功能不会返回史蒂夫的联系信息." (http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/7)
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way', 'Redmond', 'WA', '98052']
};
friends.steve = {
firstName: "Steve",
lastName: "Jobs",
number: "(556) 555-5555",
address: ['178 martio', 'cocoa', 'CA', '95074']
};
var list = function(friends) {
for (var key in friends) {
console.log(key);
}
};
var search = function(friends) {
for (var key in friends) {
if (friends[key].firstName === "Bill" || friends[key].firstName === "Steve") {
console.log(friends[key]);
return friends[key];
} else {
console.log("couldn't find them");
}
}
};
Run Code Online (Sandbox Code Playgroud)
错误在搜索功能中:
说明告诉你:
定义一个带有单个参数name的函数搜索.如果传递给函数的参数与朋友中的任何名字匹配,它应该将该朋友的联系信息记录到控制台并返回它.
简而言之,它要求您创建一个函数,在其中提供您正在搜索的人的姓名,同时您提供的朋友也是全局变量.
练习的目标似乎是通过使用:
search("steve");
Run Code Online (Sandbox Code Playgroud)
你应该得到结果:
Object :
{ firstName: 'Steve',
lastName: 'Jobs',
number: '(556) 555-5555',
address: [ '178 martio', 'cocoa', 'CA', '95074' ] }
Run Code Online (Sandbox Code Playgroud)
在您的(当前)搜索功能中,您将获得的结果不是来自针(搜索参数),而是来自您自己的首选项,在if条件中定义:
if (friends[key].firstName === "Bill" || friends[key].firstName === "Steve")
Run Code Online (Sandbox Code Playgroud)
因此,我们要做的是:
全部放在一起:
var search = function(name) { // <-- note the name instead of friends.
for (var key in friends) {
if (friends[key].firstName === name) { // <-- note that if
console.log(friends[key]);
return friends[key];
} else {
console.log("couldn't find them");
}
}
};
Run Code Online (Sandbox Code Playgroud)
而且你已经完成了!
无论如何,好的尝试,你非常接近解决方案.如果您仍有任何问题或需要任何澄清,请随时发表评论.
| 归档时间: |
|
| 查看次数: |
5298 次 |
| 最近记录: |