Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

275
Visualizações
¿Cómo puedo eliminar, con el evento Onclick, los objetos insertados en una matriz?

Con fines de aprendizaje, estoy creando una aplicación Todo en JavaScript. Tengo una función que toma el valor de entrada (Tarea) y lo empuja a una matriz de objetos.

Quiero poder eliminar la tarea del objeto de la matriz listOfTask cuando se hace clic en el botón Eliminar y quiero cambiar la propiedad completada de la tarea a verdadera cuando se hace clic en el botón completado. Mi problema es que el usuario puede hacer clic aleatoriamente en cualquier objeto de la matriz. Por lo tanto, no puedo vincular el clic del evento al objeto que quiero manipular usando index. Cualquier idea sobre cómo lograr esto será muy apreciada. Por cierto, esta es la primera vez que publico una pregunta, así que avíseme si mi pregunta necesita mejorar o aclararse.

 let listofTask=[]; function addTask(){ let taskAdded= document.getElementById('input1').value; let task=new Object; task.task=taskAdded; task.completed=false; listOfTask.push(task); appendTask(listOfTask); }

Entonces, la función appendTask() crea dos botones por cada tarea y los imprime en el HTML

 function appendTask(array){ if(array.length>0){ let div=document.getElementById('show-tasks'); let ul= document.createElement('ul'); let completedButton= document.createElement('input'); completedButton.value= 'Completed'; completedButton.type='button'; completedButton.onclick=function completedTask(){ this.parentNode.classList.add("mark-completed"); } let deleteButton= document.createElement('input'); deleteButton.value='Delete'; deleteButton.type='button'; deleteButton.onclick= function deleteTask(){ this.parentNode.remove(); } ul.innerHTML=ul.innerHTML+`<li>${array[array.length-1].task}</li> `; ul.appendChild(completedButton); ul.appendChild(deleteButton); div.appendChild(ul) } }

En este punto, puedo marcar con éxito una tarea como completada y eliminarla del HTML, pero también quiero poder manipular los objetos dentro de la matriz. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¡Siempre me alegra ver que los nuevos desarrolladores se lanzan directamente!
Una forma de lograr el objetivo deseado es otorgar a cada Object una id de propiedad que lo identifique de manera única. Luego, al hacer clic en el botón delete , puede usar la función Array findIndex para encontrar el elemento que desea eliminar.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda