我寫了這段代碼:
for(var i = 0; i < family.length; i ) {
console.log(family[i].name)
console.log(`${family[i].name} has the following friends:${family[i].friends}`)
}
它實際上遍歷每個家庭成員(都定義為物件)并顯示家庭成員的名字,然后是他的朋友......
現在我想把它包裝在一個函式中,提示用戶輸入一個家庭成員,如果它存在,它會像上面一樣,如果不存在,它會提醒用戶該成員未列出,您需要將其添加為另一個物件。所以我這樣做了:
let input = window.prompt("Enter a name of a family member");
function member() {
if (input === family[family.name]) {
for(var i = 0; i < family.length; i ) {
console.log(family[i].name)
console.log(`${family[i].name} has the following friends:${family[i].friends}`)
}
}
else {
alert("This family member is not in my list - please add him");
}
}
但它不起作用......我做錯了什么?
uj5u.com熱心網友回復:
您需要添加一種方法來執行 member();
我會執行 member(); 提交輸入后。
uj5u.com熱心網友回復:
您需要回圈并實際呼叫該函式
const family = [{
name: "fred",
friends: [{
name: "frank"
}]
},
{
name: "frank",
friends: [{
name: "fred"
}]
}
]
function member(input) {
const found = family.filter(({name}) => name.includes(input));
if (found.length) found.forEach(person => console.log(person.name,`has the following friends: ${person.friends.map(friend => friend.name).join(', ')}`))
else {
console.log("This family member is not in my list - please add him");
}
}
let input = window.prompt("Enter a name of a family member");
member(input)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385040.html
標籤:javascript 数组 功能 目的
上一篇:選擇*結果列只包含值
