Ejercicio de JavaScript 13
Función que Filtra una Lista de Productos en Oferta
Objetivo
Aprender a trabajar con funciones que devuelven objetos y cómo utilizar funciones flecha para filtrar datos en un arreglo.
Actividad
- Crea un arreglo de objetos llamado
productos
, donde cada objeto represente un producto con las propiedadesnombre
yenOferta
(esta última debe ser un valor booleano). - Crea una función flecha llamada
filtrarEnOferta
que tome el arregloproductos
como argumento. - Dentro de la función, usa el método
filter
para devolver un nuevo arreglo que contenga solo los productos que están en oferta (enOferta
debe sertrue
). - Llama a la función y guarda el resultado en una variable llamada
productosEnOferta
. - Muestra
productosEnOferta
en la consola.
Solución
Paso 1: Crear el archivo index.html
HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Función que Filtra una Lista de Productos en Oferta</title>
</head>
<body>
<h1>Ejercicio 13: Función que Filtra una Lista de Productos en Oferta</h1>
<p>Los cambios se muestran en consola.</p>
<script src="script.js"></script>
</body>
</html>
Paso 2: Escribir el código en script.js
JavaScript
// Crear el arreglo de productos
const productos = [
{ nombre: "Laptop", enOferta: true },
{ nombre: "Celular", enOferta: false },
{ nombre: "Tablet", enOferta: true },
{ nombre: "Monitor", enOferta: false },
];
// Definir la función flecha para filtrar productos en oferta utilizando el método filter de JavaScript
const filtrarEnOferta = (productos) =>
productos.filter((producto) => producto.enOferta);
// Llamar a la función y guardar el resultado en una variable
let productosEnOferta = filtrarEnOferta(productos);
// Mostrar los productos en oferta
console.log("Productos en oferta:", productosEnOferta);