Javascript 过滤掉某个字符串

Javascript 过滤掉某个字符串,javascript,Javascript,我试图修改filterCandidateBySkill()函数,以便它仅通过JavaScript技能过滤候选对象 我是javascript新手,不熟悉它的语法。如果有人能帮我,那就太好了:) const newCandidates=[ {姓名:“Reece”,技能:[“JavaScript”,“Docker”,“Java”]}, {姓名:“乔安娜”,技能:[“Python”,“Scala”]}, {名称:“丹”,技能:[“JavaScript”,“Azure”]}, {名称:“Simone”,

我试图修改filterCandidateBySkill()函数,以便它仅通过JavaScript技能过滤候选对象

我是javascript新手,不熟悉它的语法。如果有人能帮我,那就太好了:)


const newCandidates=[
{姓名:“Reece”,技能:[“JavaScript”,“Docker”,“Java”]},
{姓名:“乔安娜”,技能:[“Python”,“Scala”]},
{名称:“丹”,技能:[“JavaScript”,“Azure”]},
{名称:“Simone”,技能:[“JavaScript”,“Java”]},
{名称:“Ned”,技能:[“JavaScript”,“AWS”]},
{name:“Yuhi”,技能:[“PHP”,“JavaScript”]},
{name:“Jack”,技能:[“PHP”、“.Net”、“C++”]},
];
函数表(表){
const rows=table.getElementsByTagName(“tr”);
while(rows.length>1){
表1删除行(1);
}
}
函数insertCandidate(t正文、名称、技能){
const newRow=tbody.insertRow();
const nameCell=newRow.insertCell();
const skillCell=newRow.insertCell();
const candidateName=document.createTextNode(名称);
const candidateSkills=document.createTextNode(skills.join(',');
nameCell.appendChild(candidateName);
skillCell.appendChild(候选技能);
}
函数addCandidateTestToTable(表,候选项){
candidates.forEach(candidate=>insertCandidate(表,candidate.name,candidate.skills));
}
函数过滤器CandidateBySkill(候选项、技能){
//在此处插入逻辑您可以使用和来获得筛选结果。筛选器需要一个返回布尔值的函数,指示是否应包含元素。
includes()
提供该布尔值:

const newCandidates=[
{姓名:“Reece”,技能:[“JavaScript”,“Docker”,“Java”]},
{姓名:“乔安娜”,技能:[“Python”,“Scala”]},
{名称:“丹”,技能:[“JavaScript”,“Azure”]},
{名称:“Simone”,技能:[“JavaScript”,“Java”]},
{名称:“Ned”,技能:[“JavaScript”,“AWS”]},
{name:“Yuhi”,技能:[“PHP”,“JavaScript”]},
{name:“Jack”,技能:[“PHP”、“.Net”、“C++”]},
];
函数过滤器CandidateBySkill(候选项、技能){
//在这里插入您的逻辑cand.skills.includes(skill));
}
log(filterCandidateBySkill(newCandidates,'JavaScript'))
您可以简单地使用并筛选出包含JavaScript技能的候选项

const newCandidates=[
{姓名:“Reece”,技能:[“JavaScript”,“Docker”,“Java”]},
{姓名:“乔安娜”,技能:[“Python”,“Scala”]},
{名称:“丹”,技能:[“JavaScript”,“Azure”]},
{名称:“Simone”,技能:[“JavaScript”,“Java”]},
{名称:“Ned”,技能:[“JavaScript”,“AWS”]},
{name:“Yuhi”,技能:[“PHP”,“JavaScript”]},
{name:“Jack”,技能:[“PHP”、“.Net”、“C++”]},
];
函数过滤器CandidateBySkill(候选项、技能){
返回candidates.filter(candidate=>candidate.skills.includes(skill));
}

log(filterCandidateBySkill(newCandidates,'JavaScript'))
这是一个怎样的php/html/css/regex问题?这里只有js。请看。一般来说,很少有人愿意为您调试代码。最好是将您的问题作为一个特定的问题提出。告诉我们您想做什么,显示您尝试了什么,并显示您得到了什么结果。我想立即将结果添加到表中在不修改函数的情况下,html文件将只显示所有具有技能的候选人,但我希望该表只显示具有“JavaScript”技能的候选人,例如:“Reece:JavaScript,Docker,Java”etc@RyanLost我编辑了答案,以显示它如何与您的函数配合使用。
    <script type="text/javascript">
const newCandidates = [
  { name: "Reece", skills: ["JavaScript", "Docker", "Java"] },
  { name: "Joanna", skills: ["Python", "Scala"] },
  { name: "Dan", skills: ["JavaScript", "Azure"] },
  { name: "Simone", skills: ["JavaScript", "Java"] },
  { name: "Ned", skills: ["JavaScript", "AWS"] },
  { name: "Yuhi", skills: ["PHP", "JavaScript"] },
  { name: "Jack", skills: ["PHP", ".Net", "C++"] },
];

function removeRowsFromTable(table) {
  const rows = table.getElementsByTagName("tr");

  while (rows.length > 1) {
    table.deleteRow(1);
  }
}

function insertCandidate(tbody, name, skills) {
  const newRow = tbody.insertRow();
  const nameCell = newRow.insertCell();
  const skillCell = newRow.insertCell();

  const candidateName = document.createTextNode(name);
  const candidateSkills = document.createTextNode(skills.join(', '));

  nameCell.appendChild(candidateName);
  skillCell.appendChild(candidateSkills);
}

function addCandidatesToTable(table, candidates) {
  candidates.forEach(candidate => insertCandidate(table, candidate.name, candidate.skills));
}

function filterCandidateBySkill(candidates, skill) {
  // INSERT YOUR LOGIC HERE   <-------------------------

  return candidates;
}

const candidatesTable = document.getElementById("candidates_example");
const newCandidatesTable = candidatesTable.cloneNode(true);

removeRowsFromTable(newCandidatesTable);
const newTbody = newCandidatesTable.getElementsByTagName('tbody')[0];

const filteredCandidates = filterCandidateBySkill(newCandidates, 'JavaScript')
addCandidatesToTable(newTbody, filteredCandidates)

document.body.appendChild(newCandidatesTable);