TGViewer
JavaScript JavaScript @javascript · 31.1K subscribers
Post #3026 2.89K
CHALLENGE


const compose = (...fns) => (x) => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => (x) => fns.reduce((acc, fn) => fn(acc), x);

const double = (x) => x * 2;
const addTen = (x) => x + 10;
const square = (x) => x * x;
const negate = (x) => -x;

const transform1 = compose(negate, square, addTen, double);
const transform2 = pipe(double, addTen, square, negate);

const input = 3;

console.log(transform1(input));
console.log(transform2(input));
console.log(transform1(input) === transform2(input));
  • 👍 6
  • ❤ 4
  • 🔥 1
More from @javascript
  1. Sep 25, 2026Post #3518
  2. Sep 25, 2026CHALLENGE let counter = 0; const mod = { get counter() { return counter; }, increment() {…
  3. Sep 24, 2026Post #3516
  4. Sep 24, 2026CHALLENGE class Base { static count = 0; static increment() { this.count++; return this.co…
  5. Sep 23, 2026🤩 tinyjs: Build JavaScript Desktop Apps in <10MB I built an app with this and was impress…
  6. Sep 23, 2026Post #3513
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →