Contenido del Curso
JavaScript Data Structures
1. Introducción y Prerrequisitos
2. Fundamentos de Objetos
3. Manipulación Avanzada de Objetos
5. Operaciones Avanzadas de Arreglos
JavaScript Data Structures
Desafío: Ordenar y Extraer Propiedades
Dado un array de libros, cada uno representado por un objeto con propiedades (title
, author
, publicationYear
), cree una solución que realice las siguientes tareas:
- Ordenar el array de libros:
- Ordenar por título en orden ascendente.
- Ordenar por autor en orden descendente.
- Ordenar por año en orden descendente.
- Extraer propiedades específicas en matrices separadas:
- Crear una matriz que contenga sólo los títulos de los libros (ordenados por título en orden ascendente).
- Crear una matriz que contenga sólo los autores de los libros (ordenados por autor en orden descendente).
- Crear una matriz que contenga sólo los años de publicación de los libros (ordenados por año en orden descendente).
Asegúrese de que la matriz original de libros permanece inalterada.
Salida esperada:
localeCompare()
with the
title
property. 2. For sorting by author, apply
localeCompare()
with the
author
property. 3. For sorting by year, use a numeric comparison based on the
publicationYear
property. 4. Utilize the
map()
method to create new arrays with specific
properties. 5. Create a callback function for
map()
that returns the desired
property for each book. 6. For extracting titles, authors, and years, the callback functions should return the
title
, author
, and
publicationYear
properties, respectively. 7. Ensure that the original array of books remains unaltered. Use the spread (
[...books]
) syntax to create a copy for sorting and extracting.
const books = [
{
title: "Noughts & Crosses",
author: "Malorie Blackman",
publicationYear: 2001,
},
{
title: "Priestdaddy",
author: "Patricia Lockwood",
publicationYear: 2017,
},
{
title: "The Cost of Living",
author: "Deborah Levy",
publicationYear: 2018,
},
];
// Sort by title in ascending order
const sortedByTitleAscending = [...books]
.sort((a, b) => a.title.localeCompare(b.title))
.map((book) => book.title);
// Sort by author in descending order
const sortedByAuthorDescending = [...books]
.sort((a, b) => b.author.localeCompare(a.author))
.map((book) => book.author);
// Sort by year in descending order
const sortedByYearDescending = [...books]
.sort((a, b) => b.publicationYear - a.publicationYear)
.map((book) => book.publicationYear);
console.log("Sorted by Title (Ascending):", sortedByTitleAscending);
console.log("Sorted by Author (Descending):", sortedByAuthorDescending);
console.log("Sorted by Year (Descending):", sortedByYearDescending);
- Para ordenar por título, utilice
localeCompare()
con la propiedadtitle
. - Para ordenar por autor, aplique
localeCompare()
con la propiedadauthor
. - Para ordenar por año, use una comparación numérica basada en la propiedad
publicationYear
. - Utilice el método
map()
para crear nuevos arreglos con propiedades específicas. - Cree una función de callback para
map()
que devuelva la propiedad deseada para cada libro. - Para extraer títulos, autores y años, las funciones de callback deben devolver las propiedades
title
,author
ypublicationYear
, respectivamente. - Asegúrese de que el arreglo original de libros permanezca sin cambios. Utilice la sintaxis de propagación (
[...books]
) para crear una copia para ordenar y extraer.
¿Todo estuvo claro?
Contenido del Curso
JavaScript Data Structures
1. Introducción y Prerrequisitos
2. Fundamentos de Objetos
3. Manipulación Avanzada de Objetos
5. Operaciones Avanzadas de Arreglos
JavaScript Data Structures
Desafío: Ordenar y Extraer Propiedades
Dado un array de libros, cada uno representado por un objeto con propiedades (title
, author
, publicationYear
), cree una solución que realice las siguientes tareas:
- Ordenar el array de libros:
- Ordenar por título en orden ascendente.
- Ordenar por autor en orden descendente.
- Ordenar por año en orden descendente.
- Extraer propiedades específicas en matrices separadas:
- Crear una matriz que contenga sólo los títulos de los libros (ordenados por título en orden ascendente).
- Crear una matriz que contenga sólo los autores de los libros (ordenados por autor en orden descendente).
- Crear una matriz que contenga sólo los años de publicación de los libros (ordenados por año en orden descendente).
Asegúrese de que la matriz original de libros permanece inalterada.
Salida esperada:
localeCompare()
with the
title
property. 2. For sorting by author, apply
localeCompare()
with the
author
property. 3. For sorting by year, use a numeric comparison based on the
publicationYear
property. 4. Utilize the
map()
method to create new arrays with specific
properties. 5. Create a callback function for
map()
that returns the desired
property for each book. 6. For extracting titles, authors, and years, the callback functions should return the
title
, author
, and
publicationYear
properties, respectively. 7. Ensure that the original array of books remains unaltered. Use the spread (
[...books]
) syntax to create a copy for sorting and extracting.
const books = [
{
title: "Noughts & Crosses",
author: "Malorie Blackman",
publicationYear: 2001,
},
{
title: "Priestdaddy",
author: "Patricia Lockwood",
publicationYear: 2017,
},
{
title: "The Cost of Living",
author: "Deborah Levy",
publicationYear: 2018,
},
];
// Sort by title in ascending order
const sortedByTitleAscending = [...books]
.sort((a, b) => a.title.localeCompare(b.title))
.map((book) => book.title);
// Sort by author in descending order
const sortedByAuthorDescending = [...books]
.sort((a, b) => b.author.localeCompare(a.author))
.map((book) => book.author);
// Sort by year in descending order
const sortedByYearDescending = [...books]
.sort((a, b) => b.publicationYear - a.publicationYear)
.map((book) => book.publicationYear);
console.log("Sorted by Title (Ascending):", sortedByTitleAscending);
console.log("Sorted by Author (Descending):", sortedByAuthorDescending);
console.log("Sorted by Year (Descending):", sortedByYearDescending);
- Para ordenar por título, utilice
localeCompare()
con la propiedadtitle
. - Para ordenar por autor, aplique
localeCompare()
con la propiedadauthor
. - Para ordenar por año, use una comparación numérica basada en la propiedad
publicationYear
. - Utilice el método
map()
para crear nuevos arreglos con propiedades específicas. - Cree una función de callback para
map()
que devuelva la propiedad deseada para cada libro. - Para extraer títulos, autores y años, las funciones de callback deben devolver las propiedades
title
,author
ypublicationYear
, respectivamente. - Asegúrese de que el arreglo original de libros permanezca sin cambios. Utilice la sintaxis de propagación (
[...books]
) para crear una copia para ordenar y extraer.
¿Todo estuvo claro?