Objeto plano
Conjuntos de datos
Un conjunto de datos se define como:
{} ;
Los datos se los insertamos mediante mencionarlo, y de por medio un punto mencionar el dat que agregamos al conjunto.
{}.datoNuevo = 34 ;
{}["datoOtro"] = 55 ;
Pero el problema es que
{}
crea un objeto distinto. Es decir, es lo mismo... {} ;
que
new Object() ;
Entonces si queremos trabajar con un mismo conjunto deberemos ponerle nombre a través de una variable que lo referencie en memoria. Ejemplo:
var miConjunto = {} ;
var otroConjunto = {} ;
Ahora, a cada conjunto le iremos agregando datos nuevos con el método anteriormente mencionado.
miConjunto.datoNuevo = 34 ;
miConjunto.otroDato = 55 ;
otroConjunto.suDatoNuevo = 56 ;
Para saber qué contiene en el momento dado conjunto deberemos realizar un
console.log()
... console.log( miConjunto ) ;
Esto nos dará en la consola algo como...
{
"datoNuevo": 34
, "otroDato": 55
}
Si luego agregamos un dato más al conjunto realizar el
console.log()
lo mostrará actualizado: miConjunto.masDatos = 88 ;
console.log( miConjunto ) ;
La consola nos dirá...
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
}
Formas de inicializarse un conjunto
Una opción es de una agregarle datos desde el comienzo, poniéndole nombre a una variable que controle al conjunto nuevo. Ejemplo:
var fichaUsuario = {
"nombre": "Mario"
, "color": "red
} ;
Copiar un conjunto
Para copiar un conjunto no se puede igualar a una variable nueva, porque estaremos creando un alias para el conjunto. Es decir, será otra forma de controlar a un mismo conjunto.
var aliasMiConjunto = miConjunto ;
console.log( "Mostrando el aliasMiConjunto" ) ;
console.log( aliasMiConjunto ) ; // Mostrará lo mismo que mi conjunto...
console.log( "Agregando dato nuevo al alias. Deberá modificar al original" ) ;
aliasMiConjunto.agregoDato = 12 ;
console.log( "Mostrando el original" ) ;
console.log( miConjunto ) ;
Nos generará en la consola...
Mostrando el aliasMiConjunto
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
}
Agregando dato nuevo al alias. Deberá modificar el original
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
, "agregadoDato": 12
}
Entonces crear una variable igualándola a un conjunto ya existente no crea un nuevo conjunto con los datos del conjunto mencionado, como lo podríamos hacer cuando igualamos variables que indican números, frases o booleans. Para duplicar un conjunto como copia del original deberemos iterar cada elemento del original e implantárselo al nuevo (ver método de agregar dato en el segundo script de este documento).
var copiaDeConjuntoOriginal = {} ;
// Iterando uno por uno cada dato del conjunto original
for( var cadaDato in miConjunto ) {
copiaDeConjuntoOriginal[ cadaDato ] = miConjunto[ cadaDato ] ;
}
console.log( "Mostrando a la copia" ) ;
console.log( copiaDeConjuntoOriginal ) ;
console.log( "Agregando un dato nuevo al conjunto original" ) ;
miConjunto.otroDatoMas = 33 ;
console.log( "Mostrando el conjunto original" ) ;
console.log( miConjunto ) ;
console.log( "Mostrando el conjunto copia con el dato extra" ) ;
console.log( copiaDeConjuntoOriginal ) ;
La consola nos dirá...
Mostrando la copia
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
, "agregadoDato": 12
}
Agregando un dato nuevo al conjunto original
Mostrando el conjunto original
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
, "agregadoDato": 12
}
Mostrando el conjunto copia con el dato extra
{
"datoNuevo": 34
, "otroDato": 55
, "masDatos": 88
, "agregadoDato": 12
, "otroDatoMas: 33
}
Comentarios
Publicar un comentario