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

164
Visualizações
¿Cómo empalmo una nueva imagen en una matriz en la misma posición en la que se encuentra la imagen que quiero eliminar y mostrar esta imagen?

Tengo una serie de imágenes. Se puede hacer clic en cada imagen y genera un mensaje. Las imágenes están en una matriz aleatoria. Todo esto funciona bien. Lo que no estoy logrando es lo siguiente: cuando se hace clic en la imagen, se vuelve obsoleta, por lo que quiero reemplazar la imagen en la que se puede hacer clic con una imagen nueva en la que no se puede hacer clic. He intentado usar el método array.splice de la siguiente manera newArray=myImages.splice(evt.target,1,newImage) Esto coloca la nueva imagen en la posición 0 en la nueva matriz y no en su posición original y no se produce ninguna imagen nueva para sobrescribir la imagen anterior. Estaría agradecido por cualquier ayuda.

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

0

Si suponemos que evt en newArray=myImages.splice(evt.target,1,newImage) es un objeto Event, evt.target es un elemento DOM , no un índice. Si esto está en el evento de clic que describe, será la imagen en la que se hizo clic.

El primer argumento de splice es el índice en el que realizar cambios; un número. Los elementos DOM no son números.

splice también devuelve una matriz de imágenes eliminadas, no una matriz actualizada. (A diferencia de métodos como map o slice , splice modifica la matriz a la que lo llama).

Puede encontrar el índice de la imagen anterior usando indexOf y luego splice con eso:

 const index = myImages.indexOf(evt.target); if (index !== -1) { myImages.splice(index, 1, newImage); }

o podría usar el map para crear una nueva matriz con la nueva imagen en lugar de la que hizo clic:

 newArray = myImages.map(img => img === evt.target ? newImage : img);
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