Comunidad de diseño web y desarrollo en internet online

Mostrar por pantalla un listado con todas las instancias de una clase

Citar            
MensajeEscrito el 11 Jun 2013 09:31 am
Hola a todos, os comento, tengo una clase llamada socio con los atributos correspondientes y me he creado varias instancias de esta clase con los distintos socios y necesito mostrar por pantalla con document.write un listado unas veces con todos los socios y sus atributos y otras sólo un número determinado de ellos

Tendrían que aparecer así:
Manuel,15
Antonio,22
Luis,17
Fernando,19

function socio(nombre,edad){
this.nombre = nombre;
this.edad = edad;
}
var s1 = new socio("Manuel",15);
var s2 = new socio("Antonio",22);
var s3 = new socio("Luis",17);
var s4 = new socio("Fernando",19);

Por josemar2000

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Jun 2013 12:17 pm
Las instancias crealas en un array en vez de tenerlas en variables sueltas.
Con un simple for() podrás recorrer todas las instancias fácilmente.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Jun 2013 05:34 pm
Ahora mismo las tengo con Arrays, pero para trabajar de una forma sencilla y meter los datos a pelo, me gusta más el sistema de clases con arrays me pierdo lo tengo que programar todo, con clases es como si trabajara con una tabla de b.d. donde tienes los distintos campos con sus registros y en cada registro o fila tienes todos los datos del socio y es muy fácil de controlar

Por josemar2000

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Jun 2013 06:56 pm
Pues no acabo de entender cuál es el problema que tienes (en parte porque tienes una mala redacción).

Sin embargo debe advertirte que la declaración en el código que has posteado no funciona como esperas.

Código Javascript :

/*
  Si esto es el constructor, falta que devuelva la instancia:
*/
function socio(nombre,edad){
 this.nombre = nombre; 
 this.edad = edad;
return this; // esto devuelve la instancia creada.
 }
 var s1 = new socio("Manuel",15);
 var s2 = new socio("Antonio",22);
 var s3 = new socio("Luis",17);
 var s4 = new socio("Fernando",19);
document.write(s3.nombre);
s1.nombre = 'Diego';
document.write(s1.nombre);

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Jun 2013 05:30 pm
Efectivamente no funciona como yo quiero, pues me tendré que pelear con los Arrays aunque no son mi fuerte, gracias por tu interés.
Saludos

Por josemar2000

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 12 Jun 2013 10:18 pm
Hola de nuevo, no quiero que te preocupes ya de este tema, sólo quería tratar de explicar lo que quiero, por lo menos para que me entiendas y si no se puede pues no se puede, como ya te he dicho lo intentaré con los Arrays

Tengo una serie de personas con unos cuantos atributos entonces quiero que por pantalla me salgan esas personas y con sus correspondientes atributos, o sea, persona1 + atributos, debajo otro bloque, persona2 + atributos, debajo tercer bloque y así los que sean.
document.write(s1.nombre);
document.write(s2.nombre);
document.write(s3.nombre);
document.write(s4.nombre);

Sería alguna función equivalente al for de los Arrays que lo automatice y no necesite escribir un
document.write(x.nombre); por cada persona y por cada atributo de esta.

Pero no te preocupes que intentaré hacerlo con los Arrays, espero conseguirlo y gracias por tu interés

Por josemar2000

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Jun 2013 12:12 pm
De verdad que no entiendo qué es lo que estás buscando...

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.