javascript - 过滤一个对象数组并使用纯Javascript返回一个过滤后的数组?

标签 javascript arrays filtering

我正在研究大学的编码问题,但无法弄清楚。

我如何才能从上述数组中获得一个新数组,其中只有将 JavaScript 列为仅使用内置方法的技能的申请人?

数组如下所示:

const NewApplicants = [
    { name: "Jimmy", skills: ["Docker", "JavaScript", "Ruby"] },
    { name: "Dave", skills: ["AWS", "Python"] },
    { name: "Frankie", skills: ["Azure", "JavaScript"] },
    { name: "Liam", skills: ["Java", "JavaScript"] },
    { name: "Fred", skills: ["JavaScript", "AWS"] },
    { name: "Sara", skills: ["PHP", "AWS"] },
    { name: "Matt", skills: [".Net", "PHP", "Docker"] },
];

...并且新数组应如下所示:
const NewJavaScriptApplicants = [
    { name: "Jimmy", skills: ["Docker", "JavaScript", "Ruby"] },
    { name: "Frankie", skills: ["Azure", "JavaScript"] },
    { name: "Liam", skills: ["Java", "JavaScript"] },
    { name: "Fred", skills: ["JavaScript", "AWS"] },
];

最佳答案

使用 Array#filter Array#includes 像这样:

const NewApplicants = [
    { name: "Jimmy", skills: ["Docker", "JavaScript", "Ruby"] },
    { name: "Dave", skills: ["AWS", "Python"] },
    { name: "Frankie", skills: ["Azure", "JavaScript"] },
    { name: "Liam", skills: ["Java", "JavaScript"] },
    { name: "Fred", skills: ["JavaScript", "AWS"] },
    { name: "Sara", skills: ["PHP", "AWS"] },
    { name: "Matt", skills: [".Net", "PHP", "Docker"] },
];

const JavaScriptApplicants = NewApplicants.filter(e => e.skills.includes("JavaScript"));

console.log(JavaScriptApplicants)


The filter() method creates a new array with all elements that pass the test implemented by the provided function.
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter



The includes() method determines whether an array includes a certain element, returning true or false as appropriate.
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

关于javascript - 过滤一个对象数组并使用纯Javascript返回一个过滤后的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51864050/

相关文章:

c - 如何拆分 wchar_t 数组并将详细信息分配给 C 中的变量?

python - 使用 scipy.weave.inline 进行快速二维中值过滤

python - 如何使用Python根据给定数据过滤出序列?

data-structures - 快速过滤数据的数据结构

javascript - 如何根据套接字事件呈现新的 jade View ?

javascript - Angular 2 : Access Cookie after Creation

c - 解析由逗号分隔的表 txt 文件组成的数组

javascript - 如何更改 Highchart 工具提示的对齐方式?

javascript - 从自定义 JS 函数激活 Sencha Touch 选项卡

c++ - 重新增长数组时出错:写入时缓冲区溢出