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

85
Visualizações
Busque efectivamente un conjunto de subcadenas en una cadena Javascript

Actualmente tengo una cadena y un conjunto de subcadenas/cadenas de búsqueda que quiero buscar de manera efectiva en la cadena dada. Esto es lo que tengo actualmente:

 const apple = "apple" const banana = "banana" const chickoo = "chickoo" const dates = "dates" const eggplant = "eggplant" const default = "default" let string = "foobar" // This String changes dynamically if (string.includes(apple)){ return apple; } else if (string.includes(banana)) { return banana; } else if (string.includes(chickoo)) { return chickoo; } else if (string.includes(dates)) { return dates; } else if (string.includes(eggplant)) { return eggplant; } else { return default; }

Este enfoque funciona, sin embargo, estoy buscando una forma más compacta y eficiente de buscar subcadenas en una cadena determinada.

Editar: actualmente estoy usando la siguiente manera:

 const fruits = ["apple", "banana", "chickoo", "dates", "eggplant"]; let string = "foobar" //This is dynamic for(let fruit in fruits) { if(string.includes(fruits[fruit])){ return fruits[fruit]; } } return "default";

Avíseme si hay una forma aún más efectiva de hacer esto que la anterior.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Usando expresiones regulares:

 function matchFruit(input) { const match = input.match(/apple|banana|chickoo|dates|eggplant|default/); if(match) return match[0]; return "default"; }

Nota

esto solo devolverá la primera fruta coincidente en la cadena. Entonces "foobarapplebanana" devolverá "apple" . Si, en cambio, desea devolver una matriz de cadenas, [ "apple", "banana" ] , devuelva match en lugar de match[0] .

Prueba aquí

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede comprobar estos incluye en una línea.

Primero debe crear la lista disponible y luego verificarla. Si no se encuentra en la lista, se devuelve el valor predeterminado.

 const apple = "apple" const banana = "banana" const chickoo = "chickoo" const dates = "dates" const eggplant = "eggplant" const default = "default" let string = "foobar" // This String changes dynamically const availableFruits = [apple, banana, chickoo, dates, egplant] return availableFruits.includes(string) ? string : default;
about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes usar filter()

 let string = "foobar" //This is dynamic var matchingFruits = fruits.filter(fruit=>string.includes(fruit)) return matchingFruit.length>0?matchingFruit[0]:"default"
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