我有一个函数,该函数需要一个人员对象数组,并从特定数组中返回第一个找到的对象。在这种情况下-'isDoctor'。

const doctors = [
      { name: "`Jack Jones`", isDoctor: false},
      { name: "John Smith", isDoctor: true},
      { name: "Louise Young", isDoctor: false},
      { name: "David Boyle", isDoctor: true},
      { name: "Lisa Carr", isDoctor: false },
     ];


function findFirstDoctor(people) {
return people.find(person => person.isDoctor === true)
}



我正确编写的代码返回以下内容;但是,在存在空数组或所有'isDoctor'为false的情况下;我将如何返回“空”而不是未定义?

Object {
  isDoctor: true,
  name: "John Smith"
}

最佳答案

如果要为此使用.find,则如果未找到任何内容,则必须自己明确地分配或返回null



const doctors = [
];

function findFirstDoctor(people) {
  const foundDoctor = people.find(person => person.isDoctor === true)
  return foundDoctor || null;
}

console.log(findFirstDoctor(doctors));

关于javascript - 如果数组为空而不是使用带有箭头功能的.find方法未定义,如何返回“null”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56014206/

10-11 12:27