Теперь, когда вы работали и просмотрели посты, используя такие функции более высокого порядка, как
map ()
ВFilter ()
иуменьшить ()
Теперь вы можете применить их, чтобы решить более сложную задачу.Заполните код для
квадратный
Функция с использованием любой комбинацииmap ()
,Filter ()
иуменьшить ()
Анкет Функция должна вернуть новый массив, содержащий квадраты только положительных целых чисел (десятичные числа не являются целыми числами), когда к нему передается массив реальных чисел. Примером массива реальных чисел является[-3, 4.8, 5, 3, -3.2]
.
const squareList = arr => { // Only change code below this line return arr; // Only change code above this line }; const squaredIntegers = squareList([-3, 4.8, 5, 3, -3.2]); console.log(squaredIntegers);
- Намекать:
- Вам нужно будет отфильтровать ()
квадрат
Для положительных целых чисел (десятичные деть не являются целыми числами), и вам нужно будеткарта()
значения от вашего фильтра () функционируют к переменной. - Отвечать:
const squareList = arr => { let positiveIntegersSquared = arr.filter(num => { if (Number.isInteger(num) && num > 0) { return num; } }) .map(num => { return num * num }); return positiveIntegersSquared; }; const squaredIntegers = squareList([-3, 4.8, 5, 3, -3.2]); console.log(squaredIntegers);
- квадрат ([ -3, 4,8, 5, 3, -3,2]) должен вернуться [25, 9].
Оригинал: «https://dev.to/rthefounding/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem-o0e»