Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

89
Visualizações
Crear una función para buscar una matriz de cadenas para una determinada palabra y devolver el elemento que contiene esa palabra

El proyecto que estoy tratando de completar actualmente te da una matriz ( coffees ). El objetivo es determinar si el café necesita azúcar, crema o nada, en función de si es un tueste claro, medio u oscuro. Por ejemplo, light colombian roast debe salir I'll have the light colombian roast and drink it black . El código actual que tengo hace esto correctamente, excepto solo por la primera instancia de claro, medio, oscuro que se encuentra en los cafés de matriz. No estoy muy seguro de cómo escribir mi función para incluir todas las instancias de la palabra clave que se encuentra, en lugar de detener y almacenar solo el índice de la primera cadena en la que se encuentra la palabra.

 const coffees = [ "light colombian roast", "hawaiian dark roast", "guatemalan blend medium roast", "dark madagascar blend", "jamaican dark blue", "jamaican medium roast", "salvador robusto light" ] let output = "" function searchStringInArray (str, strArray) { for (var j=0; j<strArray.length; j++) { if(strArray[j].match(str)) { return j; } } return -1; } for (const coffee of coffees) { if (coffee.includes("light")) { let i; i = searchStringInArray('light', coffees); output += `I'll have the ${coffees[i]} and drink it black` } else if (coffee.includes("medium")) { let k; k = searchStringInArray('medium', coffees); output += `I'll have the ${coffees[k]} and add cream only` } else if (coffee.includes("dark")) { let n; n = searchStringInArray('dark', coffees); output += `I'll have the ${coffees[n]} and add cream and sugar` } output += "\n" } console.log(output)
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

En lugar de hacer que la lógica sea demasiado compleja, simplemente puede lograrlo mediante el uso de Array.map() junto con la declaración de cambio para un mejor rendimiento en comparación con múltiples cláusulas if/else.

Demostración de trabajo:

 const coffees = [ "light colombian roast", "hawaiian dark roast", "guatemalan blend medium roast", "dark madagascar blend", "jamaican dark blue", "jamaican medium roast", "salvador robusto light" ]; const output = coffees.map(coffee => { switch(true) { case (/light/i.test(coffee)): str = `I'll have the ${coffee} and drink it black` break; case (/medium/i.test(coffee)): str = `I'll have the ${coffee} and add cream only` break; case (/dark/i.test(coffee)): str = `I'll have the ${coffee} and add cream and sugar` break; } return str; }); console.log(output);

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que lo estás complicando demasiado a menos que me esté perdiendo un paso en lo que estás tratando de hacer. Ya repasó cada café, no es necesario volver a buscarlo.

 for (const coffee of coffees) { if (coffee.includes("light")) { output += `I'll have the ${coffee} and drink it black` } else if (coffee.includes("medium")) { output += `I'll have the ${coffee} and add cream only` } else if (coffee.includes("dark")) { output += `I'll have the ${coffee} and add cream and sugar` } output += "\n" }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda