Home > front end >  Please why is my code not working,do I need to install any library
Please why is my code not working,do I need to install any library

Time:05-15

Recently started functional programming and all explanations of the pipe and compose using reduce which I have seen are very sketchy.


const x = 4

const add2 = x   2

const multiplyBy5 = x * 5

const subtract1 = x - 1



pipe = (...functions) =>
(x) => functions.reduce((v, function) => function(v), x)

const result = pipe(add2, multiplyBy5, subtract1)(4)
console.log(result)

CodePudding user response:

There were 2 errors.

  1. The first one was that the x, add2, multiplyBy5 and subtract1 were not functions, but mere definitions.
  2. The other was that you naming a variable (using the arguments) to a name that is a "reserved" word such as "function" did break the syntax parser.

const x = (x) => x
const add2 = (x) => x 2
const multiplyBy5 = (x) => x*5
const subtract1 = (x) => x-1

const pipe = (...functions) => (x) => functions.reduce((v,fn)=>fn(v),x)
const result = pipe(
  add2,
  multiplyBy5,
  subtract1,
)(4);
console.log(result)

CodePudding user response:

I think it should be done like this:

const add2 = (x) => x 2
    
const multiplyBy5 = (x) => x*5
    
const subtract1 = (x) => x-1
    
const pipe=(...functions) => (x) => functions.reduce((v, functionA) => functionA(v), x)
    
const result=pipe(add2, multiplyBy5, subtract1)(4)
    
console.log(result)

  • Related