Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Sorter og Hent ut Data med sort() | Avanserte Array-metoder og Transformasjoner
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
Javascript Datastrukturer

bookUtfordring: 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:

  1. 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.
  2. 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.

123456789101112131415161718192021222324252627282930313233343536
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 = ___ .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);
copy

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
  1. For sortering etter tittel, bruk localeCompare() med title-egenskapen.
  2. For sortering etter forfatter, bruk localeCompare() med author-egenskapen.
  3. For sortering etter år, bruk en numerisk sammenligning basert på publicationYear-egenskapen.
  4. Bruk map()-metoden for å lage nye matriser med spesifikke egenskaper.
  5. Lag en callback-funksjon for map() som returnerer ønsket egenskap for hver bok.
  6. For å hente ut titler, forfattere og år, skal callback-funksjonene returnere henholdsvis titleauthor og publicationYear-egenskapene.
  7. Sørg for at den opprinnelige listen med bøker forblir uendret. Bruk spread-syntaksen ([...books]) for å lage en kopi til sortering og uthenting.
123456789101112131415161718192021222324252627282930313233343536
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);
copy

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 8

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 5. Kapittel 8
some-alt