el problema es que
push es un metodo para array. no te seria lo mismo si en lugar de
data ser un objeto fuera un array?
Cita: colocar "1.jpg" no se me hace complicado cuando se asigne a una propiedad, pero en este caso no se cual es el nombre de la propiedad,
aun sigo sin entender un poco tu duda. de momento pienso lo que intentas hacer es una nueva propiedad para los string '1.jpg', '2.jpg', etc. podrias crearla en el mismo objeto donde reside
caption y hacer de
data un array. el nombre de la propiedad se la puedes asignar tu, en el siguiente ejemplo se llama
url.
Código:
data = [];
data.push({url: x[0], caption: y[0]});
data.push({url: x[1], caption: y[1]});
// asumiendo que x contiene los string '#.jpg';
// e y contiene la descripcion;