Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

205
Views
TypeScript: ¿Cómo reemplazar un número particular en una cadena (una combinación de valores numéricos y no numéricos) y luego actualizar su valor?

Hice una pregunta similar aquí TypeScript: ¿Cómo reemplazar un número particular en una cadena y luego actualizar su valor?

Realmente aprecio las respuestas allí. Respondió a mis preguntas.

Me encontré con un nuevo problema. Pensé que era más útil plantear una nueva pregunta al referirse a la pregunta anterior.

Tengo una columna que está llena de cadenas de 10 dígitos.

A veces, los 10 dígitos completos solo contienen valores numéricos (por ejemplo, 3345678901 ), pero a veces se incluye un guión (por ejemplo 3345678--- )

Me gustaría poder:

  1. Ingrese un número de índice X
  2. Ubique el número correspondiente en la cadena
  3. Sume o reste un número A particular a/de ese número para actualizar la cadena
  4. Actualizar la cadena

Ejemplo 1 (todo numérico): 3345678901

  • Número de índice de entrada "4"
  • el numero correspondiente es 6
  • Aumenta ese número en +2 a 8
  • Actualice la cadena a 3345878901

Ejemplo 2 (numérico y no numérico): 3345678---

  • Número de índice de entrada "4"
  • el numero correspondiente es 6
  • Aumenta ese número en +2 a 8
  • Actualice la cadena a 3345878---

Ejemplo 3 (numérico y no numérico): 3345678---

  • Número de índice de entrada "7"
  • El valor correspondiente es -
  • Aumente (o mejor dicho, actualice) ese número en +2 a 2
  • Actualice la cadena a 33458782--

Para el ejemplo 1, sé que podría hacer lo siguiente (como ha señalado un colaborador de la publicación OG):

 const givenStr = "3345678901"; let givenStrArray = givenStr.split('').map(Number); const inputIndex = 4; const increaseAmount = 2; givenStrNumber += increaseAmount console.log(givenStrNumber);

Pero, ¿cómo hago para los Ejemplos 2 y 3? ¿Ya que hay una cadena '-' involucrada? En este caso, map(Number) conduciría a valores nulos que romperían el código.

¡Cualquier ayuda sería muy apreciada!

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Compruebe NaN . Este es un pequeño fragmento que le daría una pista:

 // ... // ... const increment = 2; let givenStrArray = givenStr .split('') .map((digiit) => isNaN(digit) ? increment : Number(digit + increment); // ... // ...
about 4 years ago · Juan Pablo Isaza Report

0

Esto debería funcionar

 let str = '3345678---' let NumericStrArray = str.split('').map(x => Number.isNaN(Number(x)) ? x: Number(x)) let ipIndex = 7 let incAmount = 2 let val = NumericStrArray[ipIndex] NumericStrArray[ipIndex] = typeof val === 'string' ? incAmount : val + incAmount let result = NumericStrArray.join('')
about 4 years ago · Juan Pablo Isaza Report

0

Aquí hay un pequeño fragmento simple. Separe la picadura, mapee cada elemento, cuando encontremos el índice que necesitamos actualizar, lo actualizamos y lo devolvemos, luego los unimos todos nuevamente.

Aquí se han utilizado operadores ternarios condicionales múltiples, puede obtener más información sobre cómo funcionan aquí: Operador condicional (ternario)

 const givenStr = "334567----", inputIndex = 6, increaseAmount = 2 let givenNumber = givenStr .split('') .map((v,i) => i === inputIndex ? isNaN(v) ? increaseAmount : +v + increaseAmount : v) .join('') console.log(givenNumber);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!