如何使用Javascript过滤多个数组

如何使用Javascript过滤多个数组,javascript,Javascript,我试图过滤多个技能数组(它们来自json文件)(下面的示例)并打印出候选人姓名+所有技能 ┌─────────┬───────────────────────┐ │ (index) │ Values │ ├─────────┼───────────────────────┤ │ 0 │ 'angular' │ │ 1 │ 'css' │ │ 2 │ 'bootstr

我试图过滤多个技能数组(它们来自json文件)(下面的示例)并打印出候选人姓名+所有技能

┌─────────┬───────────────────────┐
│ (index) │        Values         │
├─────────┼───────────────────────┤
│    0    │       'angular'       │
│    1    │         'css'         │
│    2    │      'bootstrap'      │
│    3    │      'react.js'       │
│    4    │        'rxjs'         │
│    5    │         'git'         │
│    6    │        'java'         │
│    7    │       'graphql'       │
│    8    │       'node.js'       │
│    9    │        'redux'        │
│   10    │        'json'         │
│   11    │        'html'         │
│   12    │         'sql'         │
│   13    │        'linux'        │
│   14    │      'gatsby.js'      │
│   15    │       'mongodb'       │
│   16    │     'javascript'      │
│   17    │         'php'         │
│   18    │        'ionic'        │
│   19    │ 'amazon web services' │
└─────────┴───────────────────────┘
但不是所有技能,我只得到单个值(1个技能/1行),控制台中的输出如下所示:

这家伙懂javascript
这家伙知道nodejs
这家伙知道如何反应
这家伙懂javascript

但目标是将所有技能都放在一行中,如下所示:

这家伙知道javascript节点的反应

input.json

{
    "stackIncluded": [
    "nodejs",
    "javascript"
    ]
}
下面是我编写的函数代码,index.js

“严格使用”;
const curationInput=require('./curation input.json');
const fileToCurate=require('./trlele.json');
异步函数curateStack(){
const stackIncluded=curantionInput.stackIncluded;
fileToCurate.forEach(候选=>{
candidate.folder.forEach(folder=>{
//获取包含候选技能的所有对象的数组
const allSkills=folder.skills;
//将具有对象的阵列映射到仅具有技能的阵列
const values=allSkills.map(item=>item.value);
//将技能的值小写
const lowercaseSkills=values.map(skill=>skill.toLowerCase());
//console.table(小写)
小写kills.forEach(skillsArray=>{
如果(包括堆栈,包括(skillsArray)){
log(‘这家伙知道’,skillsArray);
}
});
});
});
}

您需要更改脚本的最后一部分

let str='这家伙知道'
小写kills.forEach(skillsArray=>{
如果(包括堆栈,包括(skillsArray)){
str+=skillsArray+'';
}
});
console.log(str);
另一种方式

const skills=lowercaseSkills.filter(item=>stackinclude.includes(item));
log('这家伙知道',skills.join(',')));

这家伙知道
应该在循环之前尝试在forEach()候选者中创建一个字符串,将每个()技能附加到技能数组中