JSFiddle - React, Tailwind, and code Playground

by TheDiamondDoge

JavaScript

/* const users = [
  { name: "Maxim", id: "uuid1", online: true },
  { name: "Andrew", id: "uuid2", online: false },
  { name: "Alex", id: "uuid3", online: true },
  { name: "Peter", id: "uuid4", online: false }
];

const dto = { department: "SMB" };

const newArr = users.reduce(function(prev, current, index, arr) {
  return [...prev, {...current, ...dto}];
}, []);

console.log(newArr) */


const composed = compose(mul(2), add(5), add(2));
console.log(composed(3))
console.log([1,2,6].map(composed))


function compose() {
  let funcs = [...arguments];
  return function(number) {
    return funcs.reduceRight(function(prev, curr) {
      return curr(prev)
    }, number);
  }  
}

function mul(x) {
	return function(number) {
  	return number * x;
  }
}

function add(x) {
	return function(number) {
  	return number + x;
  }
}