Haaste: Lajittele ja Pura Dataa Sort()-Metodilla
Tehtävä
Annettuna on taulukko kirjoja, joista jokainen on olio, jolla on ominaisuudet (title, author, publicationYear). Laadi ratkaisu, joka suorittaa seuraavat tehtävät:
- Järjestä kirjojen taulukko:
- Järjestä otsikon mukaan nousevaan järjestykseen;
- Järjestä kirjoittajan mukaan laskevaan järjestykseen;
- Järjestä vuoden mukaan laskevaan järjestykseen.
- Erottele tietyt ominaisuudet omiin taulukoihin:
- Luo taulukko, joka sisältää vain kirjojen otsikot (järjestetty otsikon mukaan nousevaan järjestykseen);
- Luo taulukko, joka sisältää vain kirjoittajat (järjestetty kirjoittajan mukaan laskevaan järjestykseen);
- Luo taulukko, joka sisältää vain julkaisuvuodet (järjestetty vuoden mukaan laskevaan järjestykseen).
Varmista, että alkuperäinen kirjojen taulukko säilyy muuttumattomana.
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);
Odotettu tuloste:
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
- Otsikon mukaiseen lajitteluun käytä
localeCompare()-metodiatitle-ominaisuuden kanssa. - Kirjoittajan mukaiseen lajitteluun käytä
localeCompare()-metodiaauthor-ominaisuuden kanssa. - Vuoden mukaiseen lajitteluun käytä numeerista vertailua
publicationYear-ominaisuuden perusteella. - Käytä
map()-metodia luodaksesi uusia taulukoita tietyillä ominaisuuksilla. - Luo palautefunktio
map()-metodille, joka palauttaa halutun ominaisuuden jokaiselle kirjalle. - Otsikoiden, kirjoittajien ja vuosien poimimiseen palautefunktioiden tulee palauttaa vastaavasti
title,authorjapublicationYear-ominaisuudet. - Varmista, että alkuperäinen kirjojen taulukko säilyy muuttumattomana. Käytä spread-syntaksia (
[...books]) kopion luomiseen lajittelua ja poimintaa varten.
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);
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Haaste: Lajittele ja Pura Dataa Sort()-Metodilla
Pyyhkäise näyttääksesi valikon
Tehtävä
Annettuna on taulukko kirjoja, joista jokainen on olio, jolla on ominaisuudet (title, author, publicationYear). Laadi ratkaisu, joka suorittaa seuraavat tehtävät:
- Järjestä kirjojen taulukko:
- Järjestä otsikon mukaan nousevaan järjestykseen;
- Järjestä kirjoittajan mukaan laskevaan järjestykseen;
- Järjestä vuoden mukaan laskevaan järjestykseen.
- Erottele tietyt ominaisuudet omiin taulukoihin:
- Luo taulukko, joka sisältää vain kirjojen otsikot (järjestetty otsikon mukaan nousevaan järjestykseen);
- Luo taulukko, joka sisältää vain kirjoittajat (järjestetty kirjoittajan mukaan laskevaan järjestykseen);
- Luo taulukko, joka sisältää vain julkaisuvuodet (järjestetty vuoden mukaan laskevaan järjestykseen).
Varmista, että alkuperäinen kirjojen taulukko säilyy muuttumattomana.
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);
Odotettu tuloste:
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
- Otsikon mukaiseen lajitteluun käytä
localeCompare()-metodiatitle-ominaisuuden kanssa. - Kirjoittajan mukaiseen lajitteluun käytä
localeCompare()-metodiaauthor-ominaisuuden kanssa. - Vuoden mukaiseen lajitteluun käytä numeerista vertailua
publicationYear-ominaisuuden perusteella. - Käytä
map()-metodia luodaksesi uusia taulukoita tietyillä ominaisuuksilla. - Luo palautefunktio
map()-metodille, joka palauttaa halutun ominaisuuden jokaiselle kirjalle. - Otsikoiden, kirjoittajien ja vuosien poimimiseen palautefunktioiden tulee palauttaa vastaavasti
title,authorjapublicationYear-ominaisuudet. - Varmista, että alkuperäinen kirjojen taulukko säilyy muuttumattomana. Käytä spread-syntaksia (
[...books]) kopion luomiseen lajittelua ja poimintaa varten.
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);
Kiitos palautteestasi!