{"id":743,"date":"2024-07-30T20:40:20","date_gmt":"2024-07-30T18:40:20","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=743"},"modified":"2024-07-30T20:40:21","modified_gmt":"2024-07-30T18:40:21","slug":"009-ejercicios-de-logica-de-programacion","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/javascript\/javascript-practico\/07-ejercicios-de-logica-de-programacion\/009-ejercicios-de-logica-de-programacion\/","title":{"rendered":"009. Ejercicios de l\u00f3gica de programaci\u00f3n"},"content":{"rendered":"\n<p>En este \u00faltimo ejercicio vamos a trabajar con <strong>clases en Javascript<\/strong>, para ello vamos a crear una clase denominada <em>Peliculas<\/em>, que englobar\u00e1 tanto propiedades como m\u00e9todos, y ser\u00e1 una peque\u00f1a aplicaci\u00f3n para mostrar informaci\u00f3n acerca de pel\u00edculas. Veamos lo que va a contener dicha clase:<\/p>\n\n\n\n<!--more-->\n\n\n\n<ul class=\"wp-block-list\">\n<li>La clase recibir\u00e1 un objeto al momento de instanciarse con los siguientes datos:\n<ul class=\"wp-block-list\">\n<li>id de la pel\u00edcula en IMDB<\/li>\n\n\n\n<li>T\u00edtulo<\/li>\n\n\n\n<li>Director<\/li>\n\n\n\n<li>A\u00f1o de estreno<\/li>\n\n\n\n<li>Pa\u00eds de origen<\/li>\n\n\n\n<li>G\u00e9nero<\/li>\n\n\n\n<li>Calificaci\u00f3n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Todos los datos del objeto son obligatorios<\/li>\n\n\n\n<li>Hay que validar que el IMDB tenga 9 caracteres, los 2 primeros son letras y el resto n\u00fameros<\/li>\n\n\n\n<li>El t\u00edtulo no debe rebasar los 100 caracteres<\/li>\n\n\n\n<li>El director no debe rebasar los 50 caracteres<\/li>\n\n\n\n<li>El a\u00f1o de estreno es un n\u00famero entero de 4 d\u00edgitos<\/li>\n\n\n\n<li>El pa\u00eds o pa\u00edses son introducidos en forma de array<\/li>\n\n\n\n<li>Los g\u00e9neros, igualmente introducidos en forma de array<\/li>\n\n\n\n<li>Dichos g\u00e9neros deben estar dentro de los g\u00e9neros aceptados<\/li>\n\n\n\n<li>Crear m\u00e9todo est\u00e1tico que devuelva los g\u00e9neros aceptados<\/li>\n\n\n\n<li>La calificaci\u00f3n sea un n\u00famero entre 1 y 10, pudiendo ser decimal de una posici\u00f3n<\/li>\n\n\n\n<li>M\u00e9todo que devuelva toda la ficha t\u00e9cnica de la pel\u00edcula<\/li>\n\n\n\n<li>A partir de un array con la informaci\u00f3n de 3 pel\u00edculas, generar 3 instancias de la clase de forma automatizada, e imprimir la ficha t\u00e9cnica de cada pel\u00edcula<\/li>\n<\/ul>\n\n\n\n<p>Los g\u00e9neros aceptados son los siguientes: Action, Adult, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Film Noir, Game-Show, History, Horror, Musical, Music, Mystery, News, Reality-TV, Romance, Sci-Fi, Short, Sport, Talk-Show, Thriller, War, Western<\/p>\n\n\n\n<p>Este es el ejm completo<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"es\"&gt;\n&nbsp; &lt;head&gt;\n&nbsp; &nbsp; &lt;meta charset=\"UTF-8\" \/&gt;\n&nbsp; &nbsp; &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/&gt;\n&nbsp; &nbsp; &lt;title&gt;Clase Pel\u00edculas&lt;\/title&gt;\n&nbsp; &lt;\/head&gt;\n\n&nbsp; &lt;body&gt;\n&nbsp; &nbsp; &lt;h1&gt;Clase Pel\u00edculas&lt;\/h1&gt;\n\n&nbsp; &nbsp; &lt;script&gt;\n&nbsp; &nbsp; &nbsp; class Pelicula {\n&nbsp; &nbsp; &nbsp; &nbsp; constructor({\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; titulo,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; director,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; estreno,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pais,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generos,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calificacion,\n&nbsp; &nbsp; &nbsp; &nbsp; }) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.id = id;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.titulo = titulo;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.director = director;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.estreno = estreno;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.pais = pais;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.generos = generos;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.calificacion = calificacion;\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarIMDB(id);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarTitulo(titulo);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarDirector(director);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarEstreno(estreno);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarPais(pais);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarGeneros(generos);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarCalificacion(calificacion);\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Atributo est\u00e1tico obtenedor\n&nbsp; &nbsp; &nbsp; &nbsp; static get listaGeneros() {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return [\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Action\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Adult\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Adventure\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Animation\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Biography\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Comedy\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Crime\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Documentary\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Drama\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Family\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Fantasy\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Film Noir\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Game-Show\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"History\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Horror\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Musical\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Music\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Mystery\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"News\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Reality-TV\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Romance\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Sci-Fi\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Short\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Sport\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Talk-Show\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Thriller\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"War\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"Western\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ];\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ M\u00e9todo est\u00e1tico que consume el atributo est\u00e1tico listaGeneros\n&nbsp; &nbsp; &nbsp; &nbsp; static generosAceptados() {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `Los g\u00e9neros aceptados son: ${Pelicula.listaGeneros.join(\", \")}`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida cadenas\n&nbsp; &nbsp; &nbsp; &nbsp; validarCadena(propiedad, valor) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!valor) return console.log(`${propiedad} \"${valor}\" est\u00e1 vac\u00edo`);\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (typeof valor !== \"string\")\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `${propiedad} \"${valor}\" ingresado no es una cadena de texto`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ Si todo va bien le decimos que es true (todo ok)\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida cadena y longitud de la misma\n&nbsp; &nbsp; &nbsp; &nbsp; validarLongitudCadena(propiedad, valor, longitud) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (valor.length &gt; longitud)\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `${propiedad} \"${valor}\" excede el n\u00famero de caracteres permitidos (${longitud}).`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ Si todo va bien le decimos que es true (todo ok)\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n para validar n\u00famero\n&nbsp; &nbsp; &nbsp; &nbsp; validarNumero(propiedad, valor) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!valor) return console.log(`${propiedad} \"${valor}\" est\u00e1 vac\u00edo`);\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (typeof valor !== \"number\")\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `${propiedad} \"${valor}\" ingresado no es un n\u00famero`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ Si todo ok, devuelve true\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida arrays\n&nbsp; &nbsp; &nbsp; &nbsp; validarArray(propiedad, valor) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!valor) return console.log(`${propiedad} \"${valor}\" est\u00e1 vac\u00edo`);\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!(valor instanceof Array))\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `${propiedad} \"${valor}\" ingresado no es un array`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (valor.length === 0)\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(`${propiedad} \"${valor}\" no tiene datos`);\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (let cadena of valor) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (typeof cadena !== \"string\")\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `El valor \"${cadena}\" ingresado no es una cadena de texto`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ Si todo ok, devuelve true\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida el IMDB\n&nbsp; &nbsp; &nbsp; &nbsp; validarIMDB(id) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarCadena(\"IMDB id\", id)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!\/^([a-z]){2}([0-9]){7}$\/.test(id)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(`IMDB id \"${id}\" no es v\u00e1lido, debe tener 9 caracteres\n              , los 2 primeros letras min\u00fasculas, los 7 restantes n\u00fameros`);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida el t\u00edtulo\n&nbsp; &nbsp; &nbsp; &nbsp; validarTitulo(titulo) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarCadena(\"T\u00edtulo\", titulo)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarLongitudCadena(\"T\u00edtulo\", titulo, 100);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida el director\n&nbsp; &nbsp; &nbsp; &nbsp; validarDirector(director) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarCadena(\"Director\", director)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarLongitudCadena(\"Director\", director, 50);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida un d\u00edgito de 4 d\u00edgitos\n&nbsp; &nbsp; &nbsp; &nbsp; validarEstreno(estreno) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarNumero(\"A\u00f1o de estreno\", estreno)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!\/^([0-9]){4}$\/.test(estreno)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `A\u00f1o de estreno \"${estreno}\" no es v\u00e1lido, debe tener 4 d\u00edgitos.`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida el pa\u00eds\n&nbsp; &nbsp; &nbsp; &nbsp; validarPais(pais) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.validarArray(\"Pa\u00eds\", pais);\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida los g\u00e9neros\n&nbsp; &nbsp; &nbsp; &nbsp; validarGeneros(generos) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarArray(\"G\u00e9neros\", generos)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (let genero of generos) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \/\/ console.log(genero, Pelicula.listaGeneros.includes(genero));\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!Pelicula.listaGeneros.includes(genero)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(`G\u00e9nero(s) incorrecto(s) \"${generos.join(\", \")}\"`);\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Pelicula.generosAceptados();\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; \/\/ Funci\u00f3n que valida la calificaci\u00f3n\n&nbsp; &nbsp; &nbsp; &nbsp; validarCalificacion(calificacion) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.validarNumero(\"Calificaci\u00f3n\", calificacion)) {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return calificacion &lt; 0 || calificacion &gt; 10\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ? console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \"La calificaci\u00f3n tiene que estar en un rango entre 0 y 10\"\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : (this.calificacion = calificacion.toFixed(1));\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; &nbsp; }\n\n        \/\/ Funci\u00f3n que muestra la ficha t\u00e9cnica de una pel\u00edcula\n&nbsp; &nbsp; &nbsp; &nbsp; fichaTecnica() {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; `Ficha t\u00e9cnica:\\nT\u00edtulo: ${this.titulo}\\nDirector: ${\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.director\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\\nA\u00f1o: ${this.estreno}\\nPa\u00eds: ${this.pais.join(\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \" - \"\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )}\\nG\u00e9neros: ${this.generos.join(\", \")}\\nCalificaci\u00f3n: ${\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.calificacion\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }\\nIMDB id: ${this.id}`\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );\n&nbsp; &nbsp; &nbsp; &nbsp; }\n&nbsp; &nbsp; &nbsp; }\n\n&nbsp; &nbsp; &nbsp; \/\/ Pelicula.generosAceptados();\n\n&nbsp; &nbsp; &nbsp; const pelicula = new Pelicula({\n&nbsp; &nbsp; &nbsp; &nbsp; id: \"tt1234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; titulo: \"T\u00edtulo de la pel\u00edcula\",\n&nbsp; &nbsp; &nbsp; &nbsp; director: \"Director de la pel\u00edcula\",\n&nbsp; &nbsp; &nbsp; &nbsp; estreno: 1987,\n&nbsp; &nbsp; &nbsp; &nbsp; pais: [\"Espa\u00f1a\", \"Francia\"],\n&nbsp; &nbsp; &nbsp; &nbsp; generos: [\"Sport\", \"Comedy\"],\n&nbsp; &nbsp; &nbsp; &nbsp; calificacion: 9,\n&nbsp; &nbsp; &nbsp; });\n\n&nbsp; &nbsp; &nbsp; pelicula.fichaTecnica();\n\n&nbsp; &nbsp; &nbsp; const misPeliculas = [\n&nbsp; &nbsp; &nbsp; &nbsp; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt01234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; titulo: \"Mazapan\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; director: \"Almodovar\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; estreno: 1984,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pais: [\"Espa\u00f1a\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generos: [\"Horror\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calificacion: 2,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt1234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; },\n&nbsp; &nbsp; &nbsp; &nbsp; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt01234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; titulo: \"Hola\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; director: \"Almodovar\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; estreno: 1984,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pais: [\"Espa\u00f1a\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generos: [\"Horror\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calificacion: 2,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt1234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; },\n&nbsp; &nbsp; &nbsp; &nbsp; {\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt01234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; titulo: \"Adios\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; director: \"Almodovar\",\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; estreno: 1984,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pais: [\"Espa\u00f1a\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; generos: [\"Horror\"],\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; calificacion: 2,\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id: \"tt1234567\",\n&nbsp; &nbsp; &nbsp; &nbsp; },\n&nbsp; &nbsp; &nbsp; ];\n\n&nbsp; &nbsp; &nbsp; misPeliculas.forEach((el) =&gt; new Pelicula(el).fichaTecnica());\n&nbsp; &nbsp; &lt;\/script&gt;\n&nbsp; &lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En este \u00faltimo ejercicio vamos a trabajar con clases en Javascript, para ello vamos a crear una clase denominada Peliculas, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":720,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-743","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"En este \u00faltimo ejercicio vamos a trabajar con clases en Javascript, para ello vamos a crear una clase denominada Peliculas, [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=743"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/743\/revisions"}],"predecessor-version":[{"id":745,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/743\/revisions\/745"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/720"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}