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

211
Vistas
cómo escribir un ciclo que solo cambia el valor en el objeto

Estoy capturando del almacenamiento de Firebase 3 imágenes diferentes (enlace).

Quiero crear tres objetos con clave-> par de valores. La clave es siempre la misma (url) y el valor es el enlace del almacenamiento. estoy intentando la URL del bucle: pero solo me muestra el último enlace

 let linkArray = [] let linkObject = {} this.img.forEach((el) => { linkArray.push(linkObject) linkObject['url'] = el console.log(linkObject) })

los resultados del primer código son:

  • 0: {url: 'tercer enlace'}
  • 1: {url: 'tercer enlace'}
  • 2: {url: 'tercer enlace'}

]

En el código a continuación está lo que quiero lograr, pero está escrito en vue y sería un problema si ingresara la cuarta imagen (enlace) en el almacenamiento de firebase

 [ { link: { url: 'firstLink', scaledSize: { width: 30, height: 30 }, }, check:true }, { link: { url: 'secondLink', scaledSize: { width: 30, height: 30 }, }, check:true }, { link: { url: 'thirdLink', scaledSize: { width: 30, height: 30 }, }, check:true }, ],

scaledSize y check son siempre iguales, por lo que puede ignorarlos.

Cualquier sugerencia, consejo

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Con su registro, no está registrando la matriz. Empuje la estructura que desee y registre la matriz.

 let linkArray = [] this.img.forEach((el) => { linkArray.push({ link: { url: el['url'], scaledSize: el.scaledSize, }, check:true } ) }) console.log(linkArray)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debería ser así. Espero que esto pueda ayudar

 let linkArray = [] this.img.forEach((el) => { let linkObject = {} linkObject['url'] = el linkArray.push(linkObject) console.log(linkObject) })
about 4 years ago · Juan Pablo Isaza Denunciar

0

En JavaScript, los objetos son un tipo de referencia. Entonces, cada vez que inserte un nuevo objeto en la matriz, debe crearlo nuevo (para evitar sobrescribir el objeto anterior que creó inicialmente, lo que hace que solo se muestre el último enlace). Ver más en https://dmitripavlutin.com/value-vs-reference-javascript/

Puedes editarlo así:

 let linkArray = [] this.img.forEach((el) => { let linkObject = {'url': el} linkArray.push(linkObject) console.log(linkObject) }) console.log(linkArray);
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