【问题标题】:how do I wrap a piece of code inside a function? [closed]如何在函数中包装一段代码? [关闭]
【发布时间】:2022-01-20 23:13:16
【问题描述】:

我写了这段代码:

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");

  }
  
}

但它不起作用......我做错了什么?

【问题讨论】:

  • 你永远不会调用函数

标签: javascript arrays function object


【解决方案1】:

你需要添加一个方法来调用member();功能

我会调用 member();提交输入后。

【讨论】:

  • 执行是什么意思?
  • 我将编辑我的答案,但是:执行 = 调用函数
【解决方案2】:

你需要循环并实际调用函数

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-11
    • 2019-02-13
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多