En esta practica nuestro objetivo será implementar un objeto “agenda” que almacenará un numero indeterminado de direcciones emails. Vamos a pensar en los métodos (funciones) y propiedades (variables) de este objeto.
* Propiedades (Variables)
- almacén: Es un array el cual se encargara de almacenar direcciones emails asociadas a la persona a la cual pertenezca.
Ej: Almacen[‘Antonio’] “
[email protected]”
Almacen[‘Sergio’] “
[email protected]”
Almacen[‘Bea’] “
[email protected]”
De esta forma, utilizando el nombre como índice del array podremos acceder al correo electrónico de la persona.
* Métodos (Funciones)
- checkEmail(dirección): Este método devuelve “true” o “false” dependiendo de si la cadena de texto pasada como parámetro cumple con el formato de un correo electrónico. El formato de un email seria reconocido por la siguiente estructura:
[email protected]o
Nota: texto es cualquier cantidad de caracteres, exceptuando la @ o el “.” ,
y a la fuerza debe de tener al menos 1 carácter.
Ejemplos que serian validos:
[email protected]
Ejemplos de emails inválidos: @.
texto@.
texto@texto
texto@texto.
Os aconsejo que reviséis bien el funcionamiento de la función split() de las cadenas de caracteres al ser muy práctica para este ejercicio.
- addEmail(nombre, dirección): Almacena dentro del array del objeto, en la última posición, la nueva dirección email. El índice del array ha de ser de tipo texto y utilizaremos el primer parámetro, que será el nombre de la persona.
Ej: addEmail(“Antonio”,
[email protected])
Añade en el array interno el email (el 2º parámetro) utilizando como índice el nombre. Por supuesto no pueden existir 1 nombre con 2 emails distintos.
this->almacen[“Antonio”]
[email protected]
- mostrar(orden): Esta función muestra en pantalla una tabla con todos los emails y el nombre de la persona a la que pertenece. Por ejemplo:
Nombre Email
Antonio
[email protected]
Sergio
[email protected]
Bea
[email protected]
Incluso estaría bien que al pulsar sobre el email se abriera una ventana de correo con ese destinatario (esto se hace con un enlace html <a ref=”malito:…”
El parámetro orden indica si ordenamos la lista por el nombre o por el email:
Orden=0 // Ordenamos por nombre
Orden=1 // Ordenamos por email
Nota: os recuerdo que existen funciones dedicadas a ordenar arrays.