Flip the arguments of a function
Call a function with its arguments in reverse order.
function flip(fn) { return (...args) => fn(...args.reverse()); }
Usage
const divide = (a, b) => a / b;
flip(divide)(2, 10); // → 5
const isMember = (list, item) => list.includes(item);
flip(isMember)('ana', ['ana', 'rui']); // → true
Know the limits
- All arguments are reversed. For two arguments, (b, a) => fn(a, b) is the explicit form.
The function above is the code the usage lines run. It does not validate its arguments; add checks where it receives untrusted input.
Source & maintenance
Based on Flip the arguments of a function from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Documented as a reference with executed usage lines. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Logical xor operator — True when exactly one of two values is truthy.
- Identity function — Return the argument unchanged.
- Box handler — Chain transformations on a value, then unwrap the result.