Saltar al contenido principal

Ejercicios con Moment.js, Lodash y Faker.js

En este documento encontrarás ejercicios prácticos con Moment.js, Lodash y Faker.js.
Cada sección incluye una breve explicación de la librería, un enlace a su documentación oficial y 10 ejercicios.
Las soluciones están ocultas con <details> y <summary> para que intentes resolverlos antes de ver la respuesta.


📌 Instalación de librerías

Ejecuta en consola:

npm init -y
npm install moment lodash @faker-js/faker

Luego, en tus archivos Node.js, importa las librerías así:

const moment = require('moment');
const _ = require('lodash');
const { faker } = require('@faker-js/faker');

🕒 Moment.js

¿Qué es?
Moment.js es una librería para manipular, validar, analizar y mostrar fechas y tiempos en JavaScript.

📖 Documentación oficial

Ejercicios

  1. Obtener la fecha actual en formato YYYY-MM-DD

    Ver solución

    const moment = require('moment');
    console.log(moment().format('YYYY-MM-DD'));
  2. Mostrar la hora actual en formato de 24 horas

    Ver solución

    console.log(moment().format('HH:mm:ss'));
  3. Obtener el día de la semana actual

    Ver solución

    console.log(moment().format('dddd'));
  4. Sumar 7 días a la fecha actual

    Ver solución

    console.log(moment().add(7, 'days').format('YYYY-MM-DD'));
  5. Restar 3 meses a la fecha actual

    Ver solución

    console.log(moment().subtract(3, 'months').format('YYYY-MM-DD'));
  6. Calcular cuántos días faltan para el 31 de diciembre del año actual

    Ver solución

    const endYear = moment().endOf('year');
    console.log(endYear.diff(moment(), 'days'));
  7. Verificar si una fecha es válida (2025-02-30)

    Ver solución

    console.log(moment('2025-02-30', 'YYYY-MM-DD', true).isValid());
  8. Mostrar el inicio del mes actual

    Ver solución

    console.log(moment().startOf('month').format('YYYY-MM-DD'));
  9. Mostrar el final del día actual

    Ver solución

    console.log(moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'));
  10. Calcular la diferencia en días entre 2025-01-01 y hoy

    Ver solución

    console.log(moment().diff(moment('2025-01-01'), 'days'));

🔧 Lodash

¿Qué es?
Lodash es una librería de utilidades que facilita trabajar con arrays, objetos y funciones.

📖 Documentación oficial

Ejercicios

  1. Obtener el valor máximo de un array [10, 5, 20, 8]

    Ver solución

    const _ = require('lodash');
    console.log(_.max([10, 5, 20, 8]));
  2. Obtener el valor mínimo de un array

    Ver solución

    console.log(_.min([10, 5, 20, 8]));
  3. Ordenar un array [3, 1, 4, 2]

    Ver solución

    console.log(_.sortBy([3, 1, 4, 2]));
  4. Eliminar duplicados de [1, 2, 2, 3, 4, 4, 5]

    Ver solución

    console.log(_.uniq([1, 2, 2, 3, 4, 4, 5]));
  5. Dividir un array en partes de tamaño 2 [1,2,3,4,5]

    Ver solución

    console.log(_.chunk([1,2,3,4,5], 2));
  6. Combinar arrays [1,2] y [3,4]

    Ver solución

    console.log(_.concat([1,2], [3,4]));
  7. Rellenar un array con un valor * entre índices 1 y 3

    Ver solución

    console.log(_.fill([1,2,3,4,5], '*', 1, 4));
  8. Encontrar el índice del primer número mayor que 3 [1,2,3,4,5]

    Ver solución

    console.log(_.findIndex([1,2,3,4,5], n => n > 3));
  9. Agrupar objetos por propiedad type

    Ver solución

    const data = [{type: 'a'}, {type: 'b'}, {type: 'a'}];
    console.log(_.groupBy(data, 'type'));
  10. Invertir un objeto {a:1, b:2}

    Ver solución

    console.log(_.invert({a:1, b:2}));

🎭 Faker.js

¿Qué es?
Faker.js permite generar datos falsos (nombres, correos, direcciones, etc.), muy útil para pruebas.

📖 Documentación oficial

Ejercicios

  1. Generar un nombre completo aleatorio

    Ver solución

    const { faker } = require('@faker-js/faker');
    console.log(faker.person.fullName());
  2. Generar un correo electrónico falso

    Ver solución

    console.log(faker.internet.email());
  3. Generar una dirección falsa

    Ver solución

    console.log(faker.location.streetAddress());
  4. Generar un número de teléfono falso

    Ver solución

    console.log(faker.phone.number());
  5. Generar una fecha de nacimiento aleatoria

    Ver solución

    console.log(faker.date.birthdate());
  6. Generar un nombre de usuario

    Ver solución

    console.log(faker.internet.userName());
  7. Generar un país aleatorio

    Ver solución

    console.log(faker.location.country());
  8. Generar un producto falso

    Ver solución

    console.log(faker.commerce.productName());
  9. Generar una empresa falsa

    Ver solución

    console.log(faker.company.name());
  10. Generar una tarjeta de crédito falsa

    Ver solución

    console.log(faker.finance.creditCardNumber());