freeCodeCamp/guide/russian/certifications/javascript-algorithms-and-d.../functional-programming/understand-functional-progr.../index.md

51 lines
3.4 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Understand Functional Programming Terminology
localeTitle: Понять терминологию функционального программирования
---
## Понять терминологию функционального программирования
### метод
Как и в последнем вызове, вы должны вызвать метод `getTea` и сохранить его в переменной. Только на этот раз у вас есть 2 переменных для хранения 2 отдельных наборов данных. Вы увидите, что `getTea()` такая же, как и раньше, только теперь она принимает 2 отдельных параметра. Первый параметр - это функция, поэтому нам нужно передать либо `prepareGreenTea()` либо функцию `prepareBlackTea()` , за которой следует второй параметр `numOfCups` который может быть `numOfCups` как целое число.
### Решение
В этом упражнении мы назначаем результат функции более высокого порядка для переменных. Для этого мы вызываем функцию с функцией обратного вызова в качестве параметра.
## Подсказка:
`javascript const basketOne = makeBasket(addFruit, 10)`
\## Решение:
\`\` \`Javascript
/ \*\*
* Длительный процесс приготовления зеленого чая.
* @return {string} Чашка зеленого чая. \*\* / const prepareGreenTea = () => 'greenTea';
/ \*\*
* Получите заданное количество чашек чая.
* @param {function (): string} prepareTea Тип функции приготовления чая.
* @param {number} numOfCups Количество необходимых чашек чая.
* @return {Array } Количество чайных чашек. \*\* / const getTea = (prepareTea, numOfCups) => { const teaCups = \[\];
для (пусть cups = 1; cups <= numOfCups; чашки + = 1) { const teaCup = prepareTea (); teaCups.push (Teacup); }
return teaCups; };
// Добавьте код ниже этой строки const tea4GreenTeamFCC = getTea (prepareGreenTea, 27); // :) const tea4BlackTeamFCC = getTea (prepareBlackTea, 13); // :) // Добавьте код выше этой строки
console.log ( tea4GreenTeamFCC, tea4BlackTeamFCC );
\`\` \`
## Обозначение кода:
В вышеприведенном решении мы передали функции `prepareGreenTea()` и `prepareBlackTea()` качестве параметров или функций обратного вызова для функций `getTea()` , назначаемых нашим двум постоянным переменным `tea4BlackTeamFCC` и `tea4GreenTeamFCC` . Таким образом, глобальные переменные не изменяются, и мы можем добавить неограниченное количество различных вариантов методов `prepareTea()` поскольку это функция обратного вызова, передаваемая функции `getTea()` порядка `getTea()` .