3.4 KiB
3.4 KiB
title
title |
---|
Write Higher Order Arrow Functions |
Remember to use
Read-Search-Ask
if you get stuck. Try to pair program and write your own code
Problem explanation:
We need to compute and square values from the realNumberArray
and store them in the variable squaredIntegers
using the map()
, filter()
, and/or reduce()
functions.
Hint: 1
- You will need to
filter()
therealNumberArray
for positive integers (decimals are not integers).
try to solve the problem now
Hint: 2
- You will need to
map()
the values from yourfilter()
function to the variablesquaredIntegers
.
try to solve the problem now
Hint: 3
- Remember the magic of chaining functions.
try to solve the problem now
Spoiler alert!
Solution ahead!
Code solution:
const squareList = (arr) => {
"use strict";
const squaredIntegers = arr.filter((num) => num > 0 && num % parseInt(num) === 0).map((num) => Math.pow(num, 2));
return squaredIntegers;
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);
Code explanation:
Uses the operator filter()
and map()
functions to square all positive integers in a given array.
Alternative code solution:
// change code below this line
const squaredIntegers = arr.filter((param) => Number.isInteger(param) && param >= 0).map(x => x * x);
// change code above this line
Code explanation
This does basically the same but uses the isInteger()
method to check the numbers.