class Sala {
constructor(codigo,nombre) {
this.codigo=codigo;
this.nombre=nombre;
}
toString(){
return this.nombre;
}
}
class Pelicula {
constructor(codigo,nombre,sala) {
this.codigo=codigo;
this.nombre=nombre;
this.sala=sala;
}
toString(){
return this.codigo
+ " - "
+ this.nombre
+ " - "
+ this.sala;
}
}
let listaSala = [];
function agregarSala(sala) {
let existe = listaSala.some(
s => s.nombre === sala.nombre
);
if (!existe) {
listaSala.push(sala);
}
}
let s1 = new Sala(1, "Sala1");
let s2 = new Sala(2, "Sala2");
let s3 = new Sala(3, "Sala3");
let s4 = new Sala(4, "Sala1");
agregarSala(s1);
agregarSala(s2);
agregarSala(s3);
agregarSala(s4);
console.log("----SALAS----");
listaSala.forEach(s => {
console.log("*" + s.toString());
});
// =====================================
// PELICULAS
// =====================================
let listaPelicula = [];
let p1 = new Pelicula(10,"Michael Jackson", s1);
let p2 = new Pelicula(20, "Avatar",s2);
let p3 = new Pelicula(30,"Avengers",s3);
// agregar
listaPelicula.push(p1);
listaPelicula.push(p2);
listaPelicula.push(p3);
console.log("\n----LISTA PELICULAS----");
listaPelicula.forEach(p => {
console.log("*" + p.toString());
});
// =====================================
// MODIFICAR
// =====================================
p3 = new Pelicula(30,"Titanic",s3);
listaPelicula[2] = p3;
console.log("\n----LISTA PELICULAS MODIFICADA----");
listaPelicula.forEach(p => {console.log("*" + p.toString());});
// =====================================
// ELIMINAR
// =====================================
listaPelicula.splice(2, 1);
console.log(
"\n----LISTA PELICULAS ELIMINADA----"
);
listaPelicula.forEach(p => {console.log("*" + p.toString());});
// =====================================
// COLA FUNCIONES
// =====================================
// Queue en JS -> Array
let colaFunciones = [];
colaFunciones.push(p1);
colaFunciones.push(p2);
// =====================================
// HISTORIAL
// =====================================
// Stack en JS -> Array
let historial = [];
// poll() en JS -> shift()
let atencion1 = colaFunciones.shift();
historial.push(atencion1);
let atencion2 = colaFunciones.shift();
historial.push(atencion2);
// =====================================
// VER HISTORIAL
// =====================================
console.log("\n----HISTORIAL----");
let historialTemp = [];
while (historial.length > 0) {
let ultimo = historial.pop();
console.log(ultimo.toString());
historialTemp.push(ultimo);
}
// restaurar
while (historialTemp.length > 0) {
historial.push(historialTemp.pop());
}
// =====================================
// JSON
// =====================================
console.log("\n----JSON----");
let listaJson = [];
// recorrer historial
for (let i = historial.length - 1;i >= 0;i--) {
let p = historial[i];
let mapPeli = {codigo: p.codigo,
nombre: p.nombre,
sala: p.sala.nombre};
listaJson.push(mapPeli);
}
// imprimir bonito
console.log(JSON.stringify(listaJson,null,2));
To embed this program on your website, copy the following code and paste it into your website's HTML: