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

111
Views
Pase una matriz de objetos a otra función al hacer clic

Solo quiero preguntar cómo pasar una matriz de objetos a otra función. tengo una funcion

 function btnB(weekly) { console.log(weekly); } function btnA() { const array = [{ abc : 123 }, { def : 456 }] div.innerHTML = `<div onclick="btnB(${array[0]});"`; divList.appendChild(div); } btnA();

Y estoy recibiendo un error

 Uncaught SyntaxError: Unexpected identifier
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

No puede sustituir un objeto como ese en un literal de plantilla. Convierte el objeto en una cadena, que devuelve [Object object] .

Use JSON.stringify() para convertirlo en un objeto literal.

 function btnA() { const array = [{ abc : 123 }, { def : 456 }] div.innerHTML = `<div onclick='btnB(${JSON.stringify(array[0])});'`; divList.appendChild(div); }

También debe usar comillas simples alrededor del valor onclick , porque JSON usa comillas dobles alrededor de las claves de objeto.

about 4 years ago · Juan Pablo Isaza Report

0

function btnB(weekly) { console.log(weekly); } function btnA() { const array = [{ abc : 123 }, { def : 456 }]; const div = document.createElement('div'); // delete if useless div.addEventListener('click', () => { btnB(array[0]) }); divList.appendChild(div); }
about 4 years ago · Juan Pablo Isaza Report

0

Supongo que el [0] es parte de su intento de resolver esto, pero en función de la pregunta que pide pasar una serie de objetos al controlador de clics, me referiré a eso en su lugar.

Los controladores de eventos en línea están en desuso y son problemáticos de todos modos, pero usarlos en HTML generado por JavaScript completa el círculo de una manera absurda. Sería mucho más fácil y más robusto (y seguro) adjuntar el controlador de clics a través de JavaScript también, de la siguiente manera:

 const array = [{ abc: 123 }, { def: 456 }] div.innerHTML = '<div></div>' // Just the inner div without onclick div.firstElementChild.addEventListener('click', () => btnB(array)) divList.appendChild(div)
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!