Hola. Me gustaría que me ayudaran a resolver este problema. Quiero sacar del array con componentes de tipo objeto cual es la edad mayor de los objetos de la clase "persona" para mostrarla en pantalla.
Código Javascript
:
Ver original<html>
<head><title>problema javascript</title>
</head>
<body>
<script type="text/javascript">
function persona(nombre, edad){ //se crea la clase persona
this.nombre = nombre;
this.edad = edad;
}
var Personas = new Array();
Personas[0] = new persona("Benjamin", 30); //se crea el array y se llena
Personas[1] = new persona("Encarni", 28);
Personas[2] = new persona("Antonio", 40);
Personas[3] = new persona("Miguel", 35);
var em = 0;
var Nem = 0; //variables em(edad mayor) y Nem(numero edad mayor)
for(i=0; i<Personas.length; i++){ //bucle para saber edad mayor
if(persona.edad > em){
em = persona.edad;
Nem = 1;
}
else
if(persona.edad == em){
Nem++;
}
}
alert(em); //alert de (em) que no muestra el valor deseado
</script>
</body>
</html>
Primero creo la clase persona y despues creo un array y lo lleno con cuatro objetos de dicha clase. Recorro el array y llamo a una función que me detecte cual de las edades introducidas es la más alta con el fin de mostrarla en pantalla. Creo que todo está bien, pero cuando hago el "alert" de la variable "em" me muestra el valor 0 que es el valor con el que la habia inicializado y no el valor que toma despues de aplicarle el bucle "for". He probado con un "return" despues del bucle pero no me funciona. Espero que puedan ayudarme un saludo.