Масив JavaScript зменшує () Метод - W3KI
Якщо ви коли-небудь читали етикетку щодо поживності, тоді ви можете зменшити розуміння методу () у JavaScript.
Метод зменшення в JavaScript дає вам простий спосіб взяти ряд значень і об'єднати їх в одне значення або матричну суму на основі кількох категорій.
Ого, це багато в одному реченні, тож давайте зробимо крок назад.
Звичайно, ви завжди можете використовувати цикл for для ітерації масиву та здійснення певної дії щодо кожного значення. Але якщо ви не використовуєте такі методи, як filter (), map () і reduce (), тоді код стане важче читати. Іншим розробникам потрібно буде уважно прочитати кожен цикл, щоб зрозуміти мету. І це створить більше шансів на помилки, оскільки вам доведеться створити більше змінних для відстеження окремих значень.
Карта методів запускає функцію на кожному елементі в початковому масиві, перш ніж зберігати його у кінцевому масиві.
І зменшити методи комбінування елементів з початкового масиву в кінцеве значення або масив значень.
Я зрозумів, що це свого роду дієта. Починаючи з дуже простих методів, таких як підрахунок калорій, і закінчуючи більш складними дієтами, такими як Аткінс або Вахтові спостерігачі, метою є перегнати всю їжу, яку ви могли б з’їсти протягом дня, в єдине значення. (або значення), щоб перевірити, чи правильним ви шляху до схуднення.

Тож давайте стрибнемо в це! Щоб зрозуміти цей підручник, вам просто потрібно мати досвід роботи з циклами.
Імітація скорочення за допомогою петлі
Ось швидкий спосіб показати функцію зменшення () за допомогою циклу для. Припустимо, у вас є матриця з кількістю калорій 5 окремих продуктів, які ви їли протягом дня. Ви хочете, щоб я знав, скільки калорій ви спожили. Ось код.
Це досить просто. Створіть змінну, щоб утримати остаточну суму, а потім додайте її до неї під час проходження масиву. Але все-таки потрібно ввести нову змінну, і цикл не дає жодної підказки щодо призначення циклу.
Простий приклад зменшення
Дізнайтеся, як досягти тієї ж мети методом зменшення ().
- Зменшення є матричним методом, тому ми почнемо з підрахунку калорій.
- Він використовує функцію зворотного виклику, яка працює на кожному елементі масиву.
- Він використовує оператор return, щоб показати, як значення має накопичуватися після кожної ітерації матриці.
Отже, скорочення має певне поняття пам’яті. Коли він проходить через кожен елемент матриці, значення простежуються в сумі до аргументу. У нашому попередньому прикладі нам довелося оголосити нову змінну поза рамками циклу, щоб "запам'ятати" значення.
Використовуйте цю інтерактивну версію для порівняння дієтичної версії з числовою.
Може здатися, що різниці у читабельності між цим та for () не існує. Але коли вам (або іншому розробнику) потрібно відсканувати сотні рядків коду, знижка дасть вам швидкий підказку щодо призначення блоку коду.
Приклад 2 Використання об’єктів
Я щойно розглядав одновимірну мережу. Але якщо ви можете перебирати весь діапазон чисел, ви також можете переглядати весь діапазон об'єктів. Додайте назву для кожного предмета, щоб ми могли зрозуміти, що ми насправді їмо протягом дня.
Ви їли стейк на сніданок. з трохи фруктів. потім салат і картопля фрі на обід. тоді нарешті морозиво на вечерю. Це біс дня.
Ми також додали 0 в кінці, тому метод знає, що ми додаємо до числа, що починається з 0, а не до рядка.
На щастя, ви можете бачити потік, коли він проходить через матрицю. Під час перегляду кожного предмета кількість збільшується, представляючи загальну кількість споживаних калорій протягом дня. Вся суть полягає в тому, щоб помістити ці значення у велику кількість калорій протягом дня.
Приклад 3 Використання декількох категорій
Тож коли справа стосується калорій, чому, блін, так багато різних дієт? Я не збираюся Вейд в Тес резюме - загалом, є багато розбіжностей щодо "найкращого" способу схуднення. Деякі рекомендують підраховувати лише калорії, а інші - на білки, вуглеводи, жири та будь-яку кількість інших факторів.
Давайте на мить уявімо, що ви хочете змінити код, щоб ви могли оцінити дієту на основі будь-якої загальної дієтичної системи. Вам потрібно буде стежити за вуглеводами та жирами для кожного виду їжі. Тоді вам доведеться узагальнити все це наприкінці року, щоб ви могли зрозуміти, скільки грамів ви спожили в кожній категорії. Ось наші харчові об’єкти з хибною харчовою цінністю.
Тепер нам потрібно запустити метод зменшення (). Але все це не можна переслідувати в одній цінності. Ми хочемо зберегти наші категорії. Отже, наша батарея повинна бути об’єктом з тими ж категоріями, що і масив.
Ось коротка інтерактивна схема,
Під час перегляду кожного елемента значення певної властивості об’єкта змінюватиметься. Якщо об'єкт ще не має властивості з правильним ім'ям, він створить його. Ось код.
Ми використовуємо сегменти як об’єкт для класифікації значень на основі їх назви властивості. Чи використовуємо ми назву магазину? Це тому, що це незначно - ми просто хочемо цифри, щоб ми могли проаналізувати успіх вашої дієти на наступний день.
Як бачите, у нашому виробництві виникла проблема. У нас є поле імені, яке встановлено на "стейк". Ми не хочемо, щоб ви зберігали імена! Тому нам потрібно вказати ще один аргумент - початкове значення.
Цей аргумент надходить після зворотного виклику, і ми хочемо ініціалізувати калорії, вуглеводи та жири в поле 0, тому наш метод зменшує знає, що це єдині пари з трьома ключами/значеннями, які ми будемо використовувати для аргументу сегмента. Ви можете побачити приклад тут.