Codeacademy联系人列表构建7/8 ...不返回联系信息

Kai*_*son 3 javascript

我正在做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)

bri*_*eje 5

错误在搜索功能中:

说明告诉你:

定义一个带有单个参数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)

因此,我们要做的是:

  • name设置为参数
  • 循环好友全局变量
  • 检查朋友[key] .firstName是否等于提供的针(名称).
  • 如果是这样,我们记录返回它.

全部放在一起:

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)

而且你已经完成了!

http://prntscr.com/7kth5t 在此输入图像描述

无论如何,好的尝试,你非常接近解决方案.如果您仍有任何问题或需要任何澄清,请随时发表评论.