我在做codecademy javascript。没有编程经验。这让我通过这轮,但我不明白如何从if语句到这个函数争论名字。不确定如何将参数传递给参数
var friends = {
bill: {
firstName: "Bill",
lastName: "Davidson",
number: "555-555-5555",
address: ['1', '2', '3', '4']
},
steve: {
firstName: "Steve",
lastName: "Johnson",
number: "666-666-6666",
address: ['5', '6', '7', '8']
}
};
var search = function(name) {
for(var j in friends) {
if(friends[j].firstName === name) {
console.log(friends[j]);
return friends[j];
}
}
};
它只是手持或什么?我把它放在一个文件中,它没有记录任何东西。 search();
和search(friends.bill);
也没有记录任何东西。这是它在结果沙盒中显示的内容:
{ firstName: 'Steve',
lastName: 'Johnson',
number: '666-666-6666',
address: [ '5', '6', '7', '8' ] }
{ firstName: 'Steve',
lastName: 'Johnson',
number: '666-666-6666',
address: [ '5', '6', '7', '8' ] }
{ firstName: 'Bill',
lastName: 'Davidson',
number: '555-555-5555',
address: [ '1', '2', '3', '4' ] }
这似乎是错误的,因为史蒂夫重复。或史蒂夫登录/返回,但比尔不是。但就像我说的那样。我很困惑。
我的问题是为什么friends[j].firstName === name
对搜索功能有什么意义?更具体的名称。简化/不迭代它,它说
if (friends.bill.firstName === name) {
console.log(friends.bill);
return friends.bill;
}
但如果定义name
?
真的不清楚你在这里问什么。 – Pointy
添加:'search(friends.bill)'传递'bill'对象。如果你想查看结果,你可能会想要搜索(friends.bill.firstName)或搜索('Bill')。 – Anchor
'var search = function(name){'...这是定义名称的位置,它是搜索函数的函数“参数”。也许你对'var search = function(name){'语法 - 它相当于'function search(name){' –