我有两个数组,第一个列表包含了所有名字的主列表:
const masterNames = [
"Adam",
"Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
];
和另一个包含特定名称的列表:
const students = ["Steve", "Dylan", "Luke"]
我想搜索主列表,并返回在主列表中找到的学生的名字。在本例中为“Dylan”,因为Steve不在列表中。
const students = ["Steve", "Dylan", "Luke"];
const masterNames = [
"Adam",
"Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
];
masterNames.forEach(function (item, index) {
const found = students.find(element => element === item);
console.log(found);
});
我在循环中使用了Array.prototype.find()
,但它返回所有名称,而不仅仅是第一项。
2条答案
按热度按时间soat7uwm1#
要查找第一个匹配的单个名称,可以使用
find()
和includes()
如果您认为可能需要剩余的匹配名称,则可以通过
masterNames
数组includes()
来filter()
students
数组,并获取结果中的第一个元素,此处使用destructuring assignment7hiiyaii2#
您可以替换forEach并使用find。