gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 14:37:56 25 4
gpt4 key购买 nike

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

我如何才能从上述数组中获得一个新数组,其中只有将 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com