数组在javascript中的小问题,如何比较数组与字符串和找到相同的元素?



我遇到了这样的数组问题。首先,我有一个数组和一个字符串我必须比较这个数组和这个字符串。如果这个数组有一个与字符串元素相同的元素,我必须创建一个包含这个元素的新数组。例如:

mang: ['Javascript', 'PHP', 'H PHP']

chui = "PHP">

当我们比较"chuoi"one_answers"管理",你可以看到,我们有"PHP",所以我必须创建数组['PHP']

这是我的代码(我的想法)

function findStringsInArrayByKeyword(keyword, strings) {
var chuoi = "PHP";
var mang = ['Javascript', 'PHP', 'Học PHP'];
mang.forEach(function(a)){
if (a===chuoi) {
return [a];
}
}
}

但是它仍然不运行,你能给我一些建议吗?非常感谢您的宝贵时间。

forEach不返回任何值。在这种情况下,可以使用reduce

function findStringsInArrayByKeyword(keyword, strings) {
var chuoi = "PHP";
var mang = ['Javascript', 'PHP', 'Học PHP'];
return mang.reduce((acc, curr) => {
if (curr === chuoi) {
acc.push(curr);
}
return acc;
}, [])
}
console.log(findStringsInArrayByKeyword())