我在做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){' –