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

152
Vistas
agregar indicadores en una cadena de acuerdo con diferentes casos

Recibiré una serie de cadenas a continuación.
En cada cadena, puede haber tres signos: $ , % , * en la cadena

Por ejemplo,
“Preferiría %ser $feliz, %si trabajara en una fábrica de chocolate”
“Está bien jugar al tenis”
“El tenis es un buen deporte”
"AO es realmente *buen deporte"
Sin embargo, puede que no haya señales en él, tal vez solo una señal en él.

Solo hay cinco casos en cadena,
1 . ninguna señal en absoluto,
2 . tener $,% ;
3 . teniendo solo $,
4 teniendo solo %,
5 teniendo solo *

Si no hay señal, no necesito procesarla.
De lo contrario, necesito procesarlo y agregar un indicador a la izquierda del primer signo que aparece en la oración.

Por ejemplo:
“Preferiría ---dolorAndperSign—-$preferiría %ser $feliz, %si trabajara en una fábrica de chocolate”
“El tenis --dollorSign—-$es un buen deporte”

Este es mi código de idea.

Entonces, necesito decidir si la cadena contiene algún signo. Si no hay señal, no necesito procesarla.

 texts.map((text) => { if (text.includes("$") || text.includes("%") || text.includes("*")) { //to get the index of signs let indexOfdollar, indexOfper, indexOfStar; indexOfdollar = text.indexOf("$"); indexOfper = text.indexOf("%"); indexOfStar = text.indexOf("*"); //return a completed process text } });

Pregunta:

¿Cómo sé qué índice es el más pequeño para ubicar la posición del primer signo que aparece en el texto? Obtener el valor más pequeño puede no ser el enfoque correcto porque puede darse el caso de que obtenga -1 del código anterior.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Me concentré solo en la parte "obtener el índice más pequeño" de su pregunta ... Ya que podrá hacer lo que quiera con él después.

Puede tener indexOf() en una matriz, filtrarlo para eliminar el -1 y luego usar Math.min() para obtener el más pequeño.

Editado para generar un objeto en su lugar, que incluye el primer índice y algunos valores booleanos para la presencia de cada carácter.

 const texts = [ "I would $rather %be $happy, %if working in a chocolate factory", "It is ok to play tennis", "Tennis $is a good sport", "AO is really *good sport" ] const minIndexes = texts.map((text,i) => { //to get the signs const hasDollard = text.indexOf("$") >= 0 const hasPercent = text.indexOf("%") >= 0 const hasStar = text.indexOf("*") >= 0 //to get the first index const indexes = [text.indexOf("$"), text.indexOf("%"), text.indexOf("*")].filter((index) => index >= 0) if(!indexes.length){ return null } return { index: Math.min( ...indexes), hasDollard, hasPercent, hasStar } }); console.log(minIndexes)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede encontrar los caracteres especiales y reemplazar el primero encontrado con un texto.

 const replace = s => { const signs = { $: 'dollar', '%': 'per', '*': 'star' }, characters = s.match(/[\$\%\*]/g)?.join('') || '', text = Array .from( new Set(Array.from(characters)), c => signs[c] ) .join('And') + 'Sign'; return s.replace(/[\$\%\*]/, `--${text}--$&`); }, data = ['I would $rather %be $happy, %if working in chocolate factory', 'It is ok to play tennis', 'Tennis $is a good sport', 'AO is really *good sport'], result = data.map(replace); console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar

0

 const texts = [ "I would $rather %be $happy, %if working in a chocolate factory", "It is ok to play tennis", "Tennis $is a good sport", "AO is really *good sport" ] texts.forEach(text => { let sighs = ["%","$","*"]; let chr = text.split('').find(t => sighs.find(s => s==t)); if (!chr) return; text = text.replace(chr, "---some text---" + chr); console.log(text); })

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