Tuve un problema con una matriz como esta. Primero, tengo una matriz y una cadena y debo comparar esta matriz y esta cadena. Si esta matriz tiene un elemento igual al elemento de la cadena, debo crear una nueva matriz que tenga este elemento. Por ejemplo :
mang: ['Javascript', 'PHP', 'H PHP']
chuoi = "PHP"
Cuando comparamos "chuoi" y "mang", como puede ver, tenemos "PHP", por lo que debo crear la matriz ['PHP']
aquí está mi código (mi idea)
function findStringsInArrayByKeyword(keyword, strings) { var chuoi = "PHP"; var mang = ['Javascript', 'PHP', 'Học PHP']; mang.forEach(function(a)){ if (a===chuoi) { return [a]; } } }Pero todavía no funciona, ¿podría darme algunas ideas para mí? Muchas gracias por tu tiempo.
forEach no devuelve ningún valor. En este caso puedes usar reducir
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())