/*La estructura de sus registros está modelada por el siguiente objeto Clave de la propiedad (Numérico) Superficie total (Numérico) Características (Cadena de texto) Ubicación Geográfica Zona (Cadena de texto) Calle (Cadena de texto) Numero (Numérico) Código postal (Numérico) Precio en Dólares (Numérico) Disponibilidad (Carácter. V= Venta y R= Renta) Escribe un programa que realice lo siguiente: Una función que enlista las propiedades disponibles para venta en la zona de Central Park cuyo valor oscile entre 500,000 y 2.8M USD Al recibir una zona geográfica, un precio máximo y un precio mínimo, nos enlista todas las propiedades disponibles para rentar Nota: El listado debe mostrar lo siguiente: Clave de la propiedad, superficie total, características, calle y número, código postal y precio. Datos: Propiedades: Variable de tipo array de objetos tipo Propiedad Inmuebles: Variable numérica que representa el total de propiedades registradas */ let propiedadesArray = [pro1 = { claveP: 001, superficieT: 200, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'las alamedas', calle: 'azul', numero: 0, cpp: 4040 }, precioDolares: 450000, disponivilidad: 'V', }, pro2 = { claveP: 002, superficieT: 250, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'Central Park', calle: 'faro', numero: 12, cpp: 4080, }, precioDolares: 1000000, disponivilidad: 'V', }, pro3 = { claveP: 003, superficieT: 450, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'Central Park', calle: 'aries', numero: 15, cpp: 4088 }, precioDolares: 2000560, disponivilidad: 'V', }, pro4 = { claveP: 004, superficieT: 5600, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'los de marras', calle: 'alicante', numero: 123, cpp: 1256 }, precioDolares: 550000, disponivilidad: 'R', }, pro5 = { claveP: 006, superficieT: 5600, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'Central Park', calle: 'andalus', numero: 1478, cpp: 8080 }, precioDolares: 900000, disponivilidad: 'R', }, pro6 = { claveP: 006, superficieT: 10000, caracteristicas: 'excelente ubicacion', ubicacionGeografica:{ zona: 'Central Park', calle: 'lucero', numero: 1476, cpp: 8090 }, precioDolares: 2000000, disponivilidad: 'V', } ]; let constructor = (array) => { let propiedad = array; let objeto = { propiedadesVenta: function() { console.log(`Propiedades en venta en Central Park \r\n`); for(var i= 0; i < propiedad.length; i++){ let inmueble = propiedad[i]; if(inmueble.disponivilidad == 'V' && inmueble.ubicacionGeografica.zona == 'Central Park' && inmueble.precioDolares >= 500000 && inmueble.precioDolares <= 2800000 ){ console.log(`Clave de la propiedad: ${inmueble.claveP}\r\nSuperficie total: ${inmueble.superficieT}\r\nCaracteristicas: ${inmueble.caracteristicas}\r\nCalle:${inmueble.ubicacionGeografica.calle}\r\nNumero: ${inmueble.ubicacionGeografica.numero}\r\nCPP: ${inmueble.ubicacionGeografica.cpp}\r\nPrecio en dolares: ${inmueble.precioDolares} \r\n \r\n`); }//if } // for }, // funcion propiedadesVenta zonaGeo: function(zonaGeografica, precioMax, precioMin) { for(var j = 0; j < propiedad.length; j++){ let zonaG = propiedad[j]; if(zonaG.disponivilidad == 'R' && zonaG.ubicacionGeografica.zona == zonaGeografica && zonaG.precioDolares <= precioMax && zonaG.precioDolares >= precioMin){ console.log(`Clave de la propiedad: ${zonaG.claveP}\r\nSuperficie total: ${zonaG.superficieT}\r\nCaracteristicas: ${zonaG.caracteristicas}\r\nCalle:${zonaG.ubicacionGeografica.calle}\r\nNumero: ${zonaG.ubicacionGeografica.numero}\r\nCPP: ${zonaG.ubicacionGeografica.cpp}\r\nPrecio en dolares: ${zonaG.precioDolares} \r\n`); }//if }//for },// funcion zonaGeo } // objeto return objeto; } // constructor let datos = constructor(propiedadesArray); datos.propiedadesVenta(); console.log(`\r\nPropiedades en renta en determinada zona \r\n`); datos.zonaGeo('los de marras', 2000000, 500000 ); datos.zonaGeo();