首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Javascript中过滤对象数组

如何在Javascript中过滤对象数组
EN

Stack Overflow用户
提问于 2018-06-13 07:07:07
回答 1查看 4.7K关注 0票数 1

我正在尝试在Javascript中创建一个函数,这将允许我过滤不同的候选人所拥有的技能,我被告知这可以在Javascript中完成,名为"filterCandidateBySkill“的函数是我想要过滤候选人技能的地方,但我看了一下,由于技能在一个数组中,我在网上找不到如何过滤它的地方。其中很多都有针对单个单词的过滤器,但没有针对数组的过滤器。

代码语言:javascript
复制
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
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-13 07:12:50

JS在数组上提供了filter方法。

代码语言:javascript
复制
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'));

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50827040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档