Завдання: Сортування та Витяг Даних за Допомогою sort()
Завдання
Дано масив книг, кожна з яких представлена об'єктом із властивостями (title, author, publicationYear). Створіть рішення, яке виконує наступні дії:
- Відсортуйте масив книг:
- Сортування за назвою у зростаючому порядку;
- Сортування за автором у спадаючому порядку;
- Сортування за роком видання у спадаючому порядку.
- Витягніть окремі властивості у окремі масиви:
- Створіть масив, що містить лише назви книг (відсортовані за назвою у зростаючому порядку);
- Створіть масив, що містить лише авторів книг (відсортовані за автором у спадаючому порядку);
- Створіть масив, що містить лише роки видання книг (відсортовані за роком у спадаючому порядку).
Переконайтеся, що початковий масив книг залишається незмінним.
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);
Очікуваний результат:
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
- Для сортування за назвою використовуйте
localeCompare()з властивістюtitle. - Для сортування за автором застосовуйте
localeCompare()з властивістюauthor. - Для сортування за роком використовуйте числове порівняння на основі властивості
publicationYear. - Використовуйте метод
map()для створення нових масивів із конкретними властивостями. - Створіть функцію зворотного виклику для
map(), яка повертає потрібну властивість для кожної книги. - Для отримання назв, авторів і років функції зворотного виклику повинні повертати відповідно властивості
title,authorтаpublicationYear. - Переконайтеся, що оригінальний масив книг залишається незмінним. Використовуйте синтаксис розгортання (
[...books]) для створення копії для сортування та вибірки.
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);
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Завдання: Сортування та Витяг Даних за Допомогою sort()
Свайпніть щоб показати меню
Завдання
Дано масив книг, кожна з яких представлена об'єктом із властивостями (title, author, publicationYear). Створіть рішення, яке виконує наступні дії:
- Відсортуйте масив книг:
- Сортування за назвою у зростаючому порядку;
- Сортування за автором у спадаючому порядку;
- Сортування за роком видання у спадаючому порядку.
- Витягніть окремі властивості у окремі масиви:
- Створіть масив, що містить лише назви книг (відсортовані за назвою у зростаючому порядку);
- Створіть масив, що містить лише авторів книг (відсортовані за автором у спадаючому порядку);
- Створіть масив, що містить лише роки видання книг (відсортовані за роком у спадаючому порядку).
Переконайтеся, що початковий масив книг залишається незмінним.
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);
Очікуваний результат:
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
- Для сортування за назвою використовуйте
localeCompare()з властивістюtitle. - Для сортування за автором застосовуйте
localeCompare()з властивістюauthor. - Для сортування за роком використовуйте числове порівняння на основі властивості
publicationYear. - Використовуйте метод
map()для створення нових масивів із конкретними властивостями. - Створіть функцію зворотного виклику для
map(), яка повертає потрібну властивість для кожної книги. - Для отримання назв, авторів і років функції зворотного виклику повинні повертати відповідно властивості
title,authorтаpublicationYear. - Переконайтеся, що оригінальний масив книг залишається незмінним. Використовуйте синтаксис розгортання (
[...books]) для створення копії для сортування та вибірки.
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);
Дякуємо за ваш відгук!