Тема: Трансформація масивів даних. Відпрацювання методів map, filter та reduce для підготовки даних до відображення в React-компонентах.
Мета: Навчитися перетворювати “сирі” дані (масиви об’єктів) у React-компоненти, зрозуміти принцип роботи списків та ключів (keys), а також реалізувати базову бізнес-логіку (фільтрацію та агрегацію) на стороні клієнта.
Необхідні інструменти: Проєкт, створений на Практичному занятті №1 (Vite + React), редактор коду (VS Code).
Array.map)Array.filter)Array.reduce)Ми продовжуємо роботу в репозиторії, створеному на попередньому занятті. Всі нові функції розробляємо в окремій гілці, після чого зливаємо їх у master (або main).
Для роботи з методами масивів нам потрібне джерело даних. Оскільки ми ще не підключаємо зовнішнє API, створимо статичний масив.
src створіть файл data.js.Array.map)React покладається на JavaScript для генерації списків. Найчастіше використовується метод .map(), який трансформує масив даних у масив JSX-елементів.
src/App.jsx..map() для виведення списку всіх студентів.npm run dev).Array.filter)Часто нам потрібно відображати не всі дані, а лише ті, що відповідають певним критеріям. У React це робиться через ланцюжок методів filter().map().
Завдання: Вивести окремим списком тільки активних студентів, які мають бал вище 60.
App.jsx новий розділ.Array.reduce)Іноді потрібно вивести загальну статистику (наприклад, суму товарів у кошику або середній бал). Для цього ідеально підходить метод .reduce().
Завдання: Підрахувати та вивести середній бал усіх активних студентів.
return у компоненті App.Оскільки ми працюємо в одному репозиторії, необхідно коректно зберегти зміни та влити їх у master.
master (або main). (Примітка: якщо ваша головна гілка називається main, використовуйте main)..sort(), відобразіть список студентів у порядку спадання їхніх балів (від найбільшого до найменшого).
Підказка: .sort() мутує масив, тому краще спочатку зробити копію: [...students].sort(...).textDecoration: 'line-through'), використовуючи тернарний оператор у стилях.key? Що станеться, якщо його не вказати? (Див. Лекцію 2)..map() та .forEach()? Чому .forEach() не підходить для відображення елементів безпосередньо в JSX?index) як ключ, якщо список може змінюватися (сортуватися, фільтруватися)?У вашому репозиторії в головній гілці має бути робочий React-додаток, який відображає списки студентів, фільтрує їх за критеріями успішності та виводить обчислену статистику.