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

246
Vistas
Splitting text area value into array then loop and run function

I'm attempting to:

  • Take the input from a text area
  • Split into an array of strings, each line being an element in that array
  • Loop through each element this array, running a function that uses the text in the current element, then wait 5 seconds before going into the next loop iteration/element.

All my attempts so far have unfortunately not worked, I'm a beginner to JS so am taking snippets and trying my best here:

// var LS = document.querySelector('textarea').value().split('\n');
for (let i in LS) {
   setTimeOut(function(i),5000);
}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

textInput = document.getElementById("theText");
textArray = textInput.value.split(/\n/g);




const delayLoop = (fn, delay) => {
  return (line, i) => {
    setTimeout(() => {
      useTheText(line);
    }, i * 5000);
  }
};



function useTheText(line){
  console.log(line);
}

const handleClick = () => {
textInput.value.split(/\n/g).forEach(delayLoop(useTheText, 500));

}
<textarea id="theText" name="theText"
          rows="5" cols="33">
It was a dark and stormy night...
second line
line 3
</textarea>

<div>
<button onClick="handleClick()">process</button>
</div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

The first argument to setTimeout() must be a function to call. You're calling the function immediately.

If you want them to run 5 seconds apart, multiply the timeout value by i. The timeout is measured from when you call setTimeout, not when the previous function ran.

for (let i in LS) {
    setTimeout(() => yourFunction(LS[i]), i * 5000);
}
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