我正在尝试在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
}
发布于 2018-06-13 07:12:50
JS在数组上提供了filter方法。
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'));
https://stackoverflow.com/questions/50827040
复制相似问题