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

252
Views
Usando ForEach y obteniendo elementos repetidos en JavaScript

Lo que estoy tratando de hacer es con una entrada agregar palabras en una matriz, luego, a medida que agrega las palabras, quiero que se muestren en una lista. Así que hice una función para representar la lista, y usé un para cada uno, luego usé esa función dentro de la función que empuja las palabras a la matriz. La cosa es que cuando agregas las palabras, for each ejecuta y duplica todas las palabras.

si agrega árbol como palabra, obtiene el resultado: árbol

si agrega conejo, obtiene el resultado: árbol, árbol, conejo

digamos que quieres agregar un halcón y obtienes: árbol, árbol, conejo, árbol, árbol, conejo, halcón

Aquí está el código

 const renderPass = function (array, location) { array.forEach((element) => { let html = `<li class="k">${element}</li>`; location.insertAdjacentHTML("afterbegin", html); }); }; const savingKeyWords = function (e) { e.preventDefault(); keyWords.push(keyWord.value); renderPass(keyWords, listOfKeys); console.log(keyWords); clear(keyWord); };

¿¿Podrías ayudarme con esto??

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

0

Eso se debe a que parece estar usando la misma matriz definida en el contexto global una y otra vez en cada invocación. Simplemente cree una nueva matriz cada vez que se invoque guardar palabras clave.

 const savingKeyWords = function (e) { let keyWords = []; e.preventDefault(); keyWords.push(keyWord.value); renderPass(keyWords, listOfKeys); console.log(keyWords); clear(keyWord); };
about 4 years ago · Juan Pablo Isaza Report

0

Creo que 'keyWords' debe reemplazarse con 'keyWord.value' aquí:

 renderPass(keyWords, listOfKeys);

Y

 const renderPass = function (keyWord, location) { let html = `<li class="k">${keyWord}</li>`; location.insertAdjacentHTML("afterbegin", html); };

Espero que esto sea útil para usted. Gracias

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!