Skip to main content

Higher Order Functions

A function which takes other functions as a argument is known as higher order function

function x() {  console.log("x was called");}function y(x) {  x();}

another example of Hof

const radius = [3, 1, 2, 4];//normal approchconst areaOfCircle = function (radius) {  const output = [];  for (let i = 0; i < radius.length; i++) {    output.push(Math.pi * radius[i] * radius[i]);  }  return output;};console.log(areaOfCircle(radius));

Modular Programming

const radius = [3, 1, 2, 4];const area = function (radius) {  return Math.PI * radius * radius;};const circumcenter = function (radius) {  return Math.PI * 2 * radius;};const diameter = function (radius) {  return 2 * radius;};const calculate = function (radius, height) {  const output = [];  for (let i = 0; i < radius.length; i++) {    output.push(logic(length));  }  return output;};console.log(calculate(radius, area));console.log(calculate(radius, circumcenter));console.log(radius.map(area));
// how to add this function as a prototype  ?? Array.prototype.calculate =

Map

map is used to tranform an array and get a new value out of it.

filter

filter function is basically used to filter ;)

const arr = [1, 2, 3, 4, 5];function isOdd(x) {  return x % 2;}const output = arr.filter(isOdd);console.log(output);

reduce

it does not reduce anything

take aaray and reduce it to a simple thing

const output = arr.reduce(function (acc, curr) {  acc = acc + curr;  return acc;}, 0);
  • how to find max using reduce
const output = arr.reduce(function (max, curr) {  if (curr > max) {    max = curr;  }  return max;}, 0);