Javascript ¿como meter un array asociativo en otro array?

publicado por: Anonymous

Pues eso meter un array asociativo bajo la forma.

var tabla[];
tabla['nombre']='Jose';   

mi codigo es el siguiente:

_x000D_

_x000D_

var regs = [];_x000D_
var usuario = [];_x000D_
usuario['nombre'] = 'Jose';_x000D_
usuario['dni'] = '45875458X';_x000D_
regs[0] = usuario;_x000D_
_x000D_
usuario['nombre'] = 'Fernando';_x000D_
usuario['dni'] = '52487125G';_x000D_
regs[1] = usuario;_x000D_
var sx = regs[0].nombre;_x000D_
var sy = regs[1].nombre;_x000D_
_x000D_
console.log(sx);_x000D_
console.log(sy);

_x000D_

_x000D_

_x000D_

Cuando muestro los datos resulta que los dos registros en el array regs son idénticos, le he dado mil vueltas y solo lo consigo con un array de objetos

solución

La variable usuario, la he cambiado por una función que recibe los parámetros nombre y dni. Esta función, lo que hace es declarar un array, y luego agregarle las propiedades correspondientes.

Luego, mediante la función push, agregar al final de la lista reg, cada usuario, llamando a la función usuario.

_x000D_

_x000D_

function usuario(nombre,dni)_x000D_
{_x000D_
    var array=[]_x000D_
    array.nombre=nombre_x000D_
    array.dni=dni_x000D_
    return array_x000D_
}_x000D_
var regs = []_x000D_
regs.push( usuario('Jose'    ,'45875458X') )_x000D_
regs.push( usuario('Fernando','52487125G') )_x000D_
var sx = regs[0].nombre_x000D_
var sy = regs[1].nombre_x000D_
console.log(sx)_x000D_
console.log(sy)_x000D_
console.log(regs)

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *