Завдання: Сортування та Витяг Даних за Допомогою 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);
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 5. Розділ 8
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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);
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 5. Розділ 8