From b4b889ee9e5196c171dcb5fe1644b58d79e3867b Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Thu, 18 Jan 2018 13:33:11 +0530 Subject: [PATCH] Use idiomatic js Intentionally used the word `rest` instead of `args` because I felt for this case rest better helps people understand that , rest holds all the args after first arg. If I have used `args` then it partly implies that first is not an arg which is not true --- snippets/flip.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/snippets/flip.md b/snippets/flip.md index bcc66e500..02dbe84c7 100644 --- a/snippets/flip.md +++ b/snippets/flip.md @@ -4,16 +4,16 @@ Flip takes a function as an argument, then makes the first argument the last. Return a closure that takes variadic inputs, and splices the last argument to make it the first argument before applying the rest. -```js -const flip = fn => (...args) => fn(args.pop(), ...args); +```js +const flip = fn => (first, ...rest) => fn(...rest, first); ``` -```js -let a = { name: 'John Smith' }; -let b = {}; -const mergeFrom = flip(Object.assign); -let mergePerson = mergeFrom.bind(null, a); -mergePerson(b); // == b -b = {}; -Object.assign(b, a); // == b +```js +let a = { name: 'John Smith' }; +let b = {}; +const mergeFrom = flip(Object.assign); +let mergePerson = mergeFrom.bind(null, a); +mergePerson(b); // == b +b = {}; +Object.assign(b, a); // == b ```