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

87
Views
devolver varios números después del elemento de punto de entrada en javascript

Quiero buscar en la matriz de texto , y encontrar uno de estos elementos de la matriz de entrada en el texto, y verificar que si el siguiente elemento o elementos son números, devolver el número o esos números

Pero mi código funciona solo para 1 elemento de número después del elemento de entrada, como mencioné antes, quiero varios números después del elemento de entrada, hasta que llegue a un elemento de tipo cadena.

este es mi codigo:

 const entry = [ 'ENTRY', 'ZONE', 'ENTRI', 'ENTRE', 'ENTR', 'ZON', 'ZONI' ]; const text = ['HI', 'GOOD', 564, 'CLX', 'ENTRI', 'YYY', 'ENTRY', 657, 780, 34, 'XXX']; const set = new Set(entry); let result = []; for (let i = 0; i < text.length; i++) { let curr = text[i], next = text[i + 1]; if (set.has(curr) && typeof next == 'number') { result.push(next); } } console.log(result)

así que esto es salida: //output : [ 657 ]

lo que quiero: //output : [657 , 780 , 34]

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

0

Puede agregar un bucle anidado en la misma variable de bucle y agregar valores de matriz siempre que sean numéricos.

 const entry = [ 'ENTRY', 'ZONE', 'ENTRI', 'ENTRE', 'ENTR', 'ZON', 'ZONI' ]; const text = ['HI', 'GOOD', 564, 'CLX', 'ENTRI', 'YYY', 'ENTRY', 657, 780, 34, 'XXX']; const set = new Set(entry); let result = []; for (let i = 0; i < text.length; i++) { if (set.has(text[i])) { while (typeof text[i + 1] == "number") { result.push(text[++i]); } } } console.log(result)

about 4 years ago · Juan Pablo Isaza Report

0

su condición dice que el elemento válido debe venir justo después del miembro del conjunto, que solo se aplica al primer elemento, no a todos los elementos.

una forma diferente de hacerlo es activar un indicador de que se encontró un miembro y desactivarlo una vez que llegue a otra cadena que no sea un miembro.

 const entry = ['ENTRY' , 'ZONE' , 'ENTRI' , 'ENTRE' , 'ENTR' ,'ZON' , 'ZONI']; const text = ['hi' , 'good' , 564 , 'clx' , 'entri' , 'yyyy' , 'ENTRY' ,657 , 780 , 34 , 'xxxx']; const set = new Set(entry); let result = []; let isAfterMatch = false for (let i = 0; i < text.length; i++) { const curr = text[i]; if (isAfterMatch && typeof curr === 'number') { result.push(curr); } else { isAfterMatch = set.has(curr) } } console.log(result)

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!