如何在Javascript中过滤对象数组

Pro*_*err 1 html javascript arrays filter

我试图在Javascript中创建一个函数,这将允许我过滤不同候选人的技能,我被告知这可以在Javascript中完成,名为"filterCandidateBySkill"的函数是我想要过滤候选者的地方技能,但香港专业教育学院看了这个,因为技能在一个阵列,我无法在网上找到如何过滤它.他们中的很多人都有单个单词的过滤器,但不适用于数组.

const newCandidates = [
  { name: "bob", skills: ["JavaScript", "Docker", "Ruby"] },
  { name: "ally", skills: ["Python", "AWS"] },
  { name: "joe", skills: ["JavaScript", "Azure"] },
  { name: "fred", skills: ["JavaScript", "Java"]},
];

function filterCandidateBySkill(candidates, skill) {
  // where im confused
}
Run Code Online (Sandbox Code Playgroud)

Luk*_*ach 8

JS为数组提供了一个过滤方法.

const newCandidates = [
  { name: "bob", skills: ["JavaScript", "Docker", "Ruby"] },
  { name: "ally", skills: ["Python", "AWS"] },
  { name: "joe", skills: ["JavaScript", "Azure"] },
  { name: "fred", skills: ["JavaScript", "Java"]},
];

function filterCandidateBySkill(candidates, skill) {
  return newCandidates.filter(candidate => candidate.skills.includes(skill));
}

// Get only names
console.log(filterCandidateBySkill(newCandidates, 'JavaScript').map(candidate => candidate.name));

// Get entire objects
console.log(filterCandidateBySkill(newCandidates, 'JavaScript'));
Run Code Online (Sandbox Code Playgroud)