Reto Clases y objetos

Código
Avanzado
JavaScript
Curso de JavaScript
15 min
200 XP
Actualizado: 14/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Implementar una clase para gestionar una biblioteca de libros

Crea una clase Library que permita gestionar una colección de libros. La clase debe tener las siguientes características:

  1. Un campo privado #books que será un array para almacenar los libros.

  2. Un constructor que inicialice el array de libros vacío.

  3. Un método addBook(title, author, year) que añada un nuevo libro al array. Cada libro debe ser un objeto con las propiedades: title, author, year y id (un identificador único generado automáticamente).

  4. Un método removeBook(id) que elimine un libro según su id. Debe devolver true si se eliminó correctamente o false si no se encontró el libro.

  5. Un método getBooksByAuthor(author) que devuelva un array con todos los libros de un autor específico.

    Guarda tu progreso

    Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

  6. Un método getTotalBooks() que devuelva la cantidad total de libros en la biblioteca.

  7. Un método privado #generateId() que genere un identificador único para cada libro (puedes usar un contador o alguna otra técnica).

Debe ser posible utilizar la clase de la siguiente manera:

const library = new Library();
library.addBook("Don Quijote", "Miguel de Cervantes", 1605);
library.addBook("Cien años de soledad", "Gabriel García Márquez", 1967);
library.addBook("Rayuela", "Julio Cortázar", 1963);
library.addBook("El Aleph", "Jorge Luis Borges", 1949);
library.addBook("Ficciones", "Jorge Luis Borges", 1944);

console.log(library.getTotalBooks()); // Debería mostrar 5
console.log(library.getBooksByAuthor("Jorge Luis Borges")); // Debería mostrar un array con los dos libros de Borges

Solución al ejercicio de programación en JavaScript

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en JavaScript para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en JavaScript

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en JavaScript

⭐⭐⭐⭐⭐
4.9/5 valoración