Utfordring: Sorter og Hent ut Data med sort()
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
Awesome!
Completion rate improved to 2.27
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