Как отфильтровать массив объектов в Javascript - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь создать функцию в 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
}

1 Ответ

0 голосов
/ 13 июня 2018

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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...