usando la siguiente matriz, quiero buscar las primeras letras suponiendo que hay varias palabras en la misma matriz, debe buscar en cada palabra, si la encuentra debe regresar en una matriz
ejemplo
const data= [ "the lions of teranga", "tiger woods", "The Truman Show", "Shutter Island", "The Gold Rush", ] ]si coincide con "sh", debe buscar cada palabra y devolver
["Shutter Island", "The Truman Show"] but not The Gold Rushsi coincide con "leones", debe buscar cada palabra y devolver
["the lions of teranga"]Aquí está una de las soluciones con combinación de forEach y RegEx
const data= [ "the lions of teranga", "tiger woods", "The Truman Show", "Shutter Island", "The Gold Rush", ] const filteredData = [] data.forEach(sentence => { let words = sentence.split(" ") words.forEach((word,index) => { if(word.match(/^lions?\w/gi)) { filteredData.push(sentence) } }) }) console.log(filteredData)const data= [ "the lions of teranga", "tiger woods", "The Truman Show", "Shutter Island", "The Gold Rush", ] inputData = "lions" let a = data.filter(e => { str = e.toLowerCase() if (str.match(inputData.toLowerCase())){ return e } }) console.log(a)Aquí el filtro devuelve los objetos que se devuelven verdaderos. Aquí puede buscar por cualquier palabra o carácter y regresar como una matriz.
//your data array const data= [ "the lions of teranga", "tiger woods", "The Truman Show", "Shutter Island", "The Gold Rush", ]; //your search letters,if it will be the same use const instead of var var search="sh"; //make your search case insensitive search=search.toLowerCase() //use for loop to go through every sentence for(var counter=0;counter<data.length;counter++) { //get the array of words var arrayOfWords=data[counter].match(/\b(\w+)\b/g); //use for loop to go through every word for(var counter2=0;counter2<arrayOfWords.length;counter2++) { //make word case insensitive var tempWord=arrayOfWords[counter2].toLowerCase(); //check if the search length does not exid your actuall word if(search.length<=tempWord.length) { //check if first letters match if(tempWord.slice(0,search.length==search) { //first letters match, you can put your logic here } else { //no match } } else { //search exids word } } }