Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

82
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda