Herausforderung: Daten mit sort() Sortieren und Extrahieren
Aufgabe
Gegeben ist ein Array von Büchern, wobei jedes Buch durch ein Objekt mit den Eigenschaften (title, author, publicationYear) dargestellt wird. Entwickeln Sie eine Lösung, die folgende Aufgaben erfüllt:
- Sortieren Sie das Array der Bücher:
- Nach Titel in aufsteigender Reihenfolge sortieren;
- Nach Autor in absteigender Reihenfolge sortieren;
- Nach Erscheinungsjahr in absteigender Reihenfolge sortieren.
- Extrahieren Sie bestimmte Eigenschaften in separate Arrays:
- Erstellen Sie ein Array, das nur die Titel der Bücher enthält (sortiert nach Titel in aufsteigender Reihenfolge);
- Erstellen Sie ein Array, das nur die Autoren der Bücher enthält (sortiert nach Autor in absteigender Reihenfolge);
- Erstellen Sie ein Array, das nur die Erscheinungsjahre der Bücher enthält (sortiert nach Jahr in absteigender Reihenfolge).
Stellen Sie sicher, dass das ursprüngliche Array der Bücher unverändert bleibt.
123456789101112131415161718192021222324252627282930313233343536const 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 = ___ .sort((a, b) => a.title.___(b.title)) .___((book) => book.title); // Sort by `author` in descending order const sortedByAuthorDescending = [...books] .___((a, b) => b.___.localeCompare(a.___)) .map((book) => book.author); // Sort by `year` in descending order const sortedByYearDescending = [...books] .sort((a, b) => ___ ___ ___) .___((book) => book.publicationYear); console.log("Sorted by Title (Ascending):", sortedByTitleAscending); console.log("Sorted by Author (Descending):", sortedByAuthorDescending); console.log("Sorted by Year (Descending):", sortedByYearDescending);
Erwartete Ausgabe:
Sorted by Title (Ascending): Noughts & Crosses, Priestdaddy, The Cost of Living
Sorted by Author (Descending): Patricia Lockwood, Malorie Blackman, Deborah Levy
Sorted by Year (Descending): 2018, 2017, 2001
- Zum Sortieren nach Titel die Methode
localeCompare()mit der Eigenschafttitleverwenden. - Zum Sortieren nach Autor die Methode
localeCompare()mit der Eigenschaftauthoranwenden. - Zum Sortieren nach Jahr einen numerischen Vergleich basierend auf der Eigenschaft
publicationYearnutzen. - Die Methode
map()verwenden, um neue Arrays mit bestimmten Eigenschaften zu erstellen. - Eine Callback-Funktion für
map()erstellen, die die gewünschte Eigenschaft für jedes Buch zurückgibt. - Für das Extrahieren von Titeln, Autoren und Jahren sollten die Callback-Funktionen jeweils die Eigenschaften
title,authorundpublicationYearzurückgeben. - Sicherstellen, dass das ursprüngliche Array der Bücher unverändert bleibt. Die Spread-Syntax (
[...books]) verwenden, um eine Kopie zum Sortieren und Extrahieren zu erstellen.
123456789101112131415161718192021222324252627282930313233343536const 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);
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain how the sorting functions work in this solution?
What would the output look like if the books array had more entries?
How can I modify this to sort by a different property, like title length?
Awesome!
Completion rate improved to 2.27
Herausforderung: Daten mit sort() Sortieren und Extrahieren
Swipe um das Menü anzuzeigen
Aufgabe
Gegeben ist ein Array von Büchern, wobei jedes Buch durch ein Objekt mit den Eigenschaften (title, author, publicationYear) dargestellt wird. Entwickeln Sie eine Lösung, die folgende Aufgaben erfüllt:
- Sortieren Sie das Array der Bücher:
- Nach Titel in aufsteigender Reihenfolge sortieren;
- Nach Autor in absteigender Reihenfolge sortieren;
- Nach Erscheinungsjahr in absteigender Reihenfolge sortieren.
- Extrahieren Sie bestimmte Eigenschaften in separate Arrays:
- Erstellen Sie ein Array, das nur die Titel der Bücher enthält (sortiert nach Titel in aufsteigender Reihenfolge);
- Erstellen Sie ein Array, das nur die Autoren der Bücher enthält (sortiert nach Autor in absteigender Reihenfolge);
- Erstellen Sie ein Array, das nur die Erscheinungsjahre der Bücher enthält (sortiert nach Jahr in absteigender Reihenfolge).
Stellen Sie sicher, dass das ursprüngliche Array der Bücher unverändert bleibt.
123456789101112131415161718192021222324252627282930313233343536const 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 = ___ .sort((a, b) => a.title.___(b.title)) .___((book) => book.title); // Sort by `author` in descending order const sortedByAuthorDescending = [...books] .___((a, b) => b.___.localeCompare(a.___)) .map((book) => book.author); // Sort by `year` in descending order const sortedByYearDescending = [...books] .sort((a, b) => ___ ___ ___) .___((book) => book.publicationYear); console.log("Sorted by Title (Ascending):", sortedByTitleAscending); console.log("Sorted by Author (Descending):", sortedByAuthorDescending); console.log("Sorted by Year (Descending):", sortedByYearDescending);
Erwartete Ausgabe:
Sorted by Title (Ascending): Noughts & Crosses, Priestdaddy, The Cost of Living
Sorted by Author (Descending): Patricia Lockwood, Malorie Blackman, Deborah Levy
Sorted by Year (Descending): 2018, 2017, 2001
- Zum Sortieren nach Titel die Methode
localeCompare()mit der Eigenschafttitleverwenden. - Zum Sortieren nach Autor die Methode
localeCompare()mit der Eigenschaftauthoranwenden. - Zum Sortieren nach Jahr einen numerischen Vergleich basierend auf der Eigenschaft
publicationYearnutzen. - Die Methode
map()verwenden, um neue Arrays mit bestimmten Eigenschaften zu erstellen. - Eine Callback-Funktion für
map()erstellen, die die gewünschte Eigenschaft für jedes Buch zurückgibt. - Für das Extrahieren von Titeln, Autoren und Jahren sollten die Callback-Funktionen jeweils die Eigenschaften
title,authorundpublicationYearzurückgeben. - Sicherstellen, dass das ursprüngliche Array der Bücher unverändert bleibt. Die Spread-Syntax (
[...books]) verwenden, um eine Kopie zum Sortieren und Extrahieren zu erstellen.
123456789101112131415161718192021222324252627282930313233343536const 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);
Danke für Ihr Feedback!