Utfordring: Sorter og Hent ut Data med sort()
Sveip for å vise menyen
Oppgave
Gitt et array med bøker, der hver bok er representert som et objekt med egenskapene (title, author, publicationYear), lag en løsning som utfører følgende oppgaver:
- Sorter arrayet med bøker:
- Sorter etter tittel i stigende rekkefølge;
- Sorter etter forfatter i synkende rekkefølge;
- Sorter etter år i synkende rekkefølge.
- Ekstraher spesifikke egenskaper til separate arrayer:
- Lag et array som kun inneholder titlene på bøkene (sortert etter tittel i stigende rekkefølge);
- Lag et array som kun inneholder forfatterne av bøkene (sortert etter forfatter i synkende rekkefølge);
- Lag et array som kun inneholder utgivelsesårene til bøkene (sortert etter år i synkende rekkefølge).
Sørg for at det opprinnelige arrayet med bøker forblir uendret.
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);
Forventet utdata:
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
- For sortering etter tittel, bruk
localeCompare()medtitle-egenskapen. - For sortering etter forfatter, bruk
localeCompare()medauthor-egenskapen. - For sortering etter år, bruk en numerisk sammenligning basert på
publicationYear-egenskapen. - Bruk
map()-metoden for å lage nye matriser med spesifikke egenskaper. - Lag en callback-funksjon for
map()som returnerer ønsket egenskap for hver bok. - For å hente ut titler, forfattere og år, skal callback-funksjonene returnere henholdsvis
title,authorogpublicationYear-egenskapene. - Sørg for at den opprinnelige listen med bøker forblir uendret. Bruk spread-syntaksen (
[...books]) for å lage en kopi til sortering og uthenting.
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);
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 5. Kapittel 8
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Fantastisk!
Completion rate forbedret til 2.27Seksjon 5. Kapittel 8