Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
Higher Order Functions and Callbacks - Using "return"
function eitherCallback(callback1, callback2) {
  return (element, i, array) => {return callback1(element, i, array) || callback2(element, i, array)}
}

function filterArray(array, callback) {
 const newArray = [];
 for (let i = 0; i < array.length; i += 1) {
   if (callback(array[i], i, array)) newArray.push(array[i]);
 }
 return newArray;
}
const arrOfNums = [10, 35, 105, 9];

const integerSquareRoot = n => Math.sqrt(n) % 1 === 0; // condition 1 as a function
const over100 = n => n > 100; // condition 2 as a function

const intSqRtOrOver100 = eitherCallback(integerSquareRoot, over100); // function to combine functions

console.log(filterArray(arrOfNums, intSqRtOrOver100)); // should log: [105, 9]

Above is a piece of code that I've written for my coding bootcamp prep. However, I am confused on the purpose of the second "return" in the eitherCallback function. I have read the syntax on arrow functions in ES6 and I read that the return is not needed if the function is a single line. However, when I remove that second "return" the output of console.log(filterArray(arrOfNums, intSqRtOrOver100)); returns an empty array.

The eitherCallback function takes two arguments: callback1 and callback2, which are going to be functions integerSquareRoot and over100. When I look at those functions, the return of those two functions are booleans which leads me to my confusion. Since callback1 and callback2 already return booleans, why do I get an empty array if I omit the second "return" in the eitherCallback function?

Thank you.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!