From 8f9d1cad005af92303a6d7f4a3cfa0eb9fc33c47 Mon Sep 17 00:00:00 2001 From: Robert Mennell Date: Thu, 21 Dec 2017 18:33:57 -0800 Subject: [PATCH 1/3] [FEATURE] add spreadOver snippet --- snippets/spreadOver.md | 15 +++++++++++++++ tag_database | 1 + 2 files changed, 16 insertions(+) create mode 100644 snippets/spreadOver.md diff --git a/snippets/spreadOver.md b/snippets/spreadOver.md new file mode 100644 index 000000000..5e8251d87 --- /dev/null +++ b/snippets/spreadOver.md @@ -0,0 +1,15 @@ +### Spread Over + +Takes a veriadic function and returns a closure that accepts an array of arguments to map to the inputs of the functions + +Explain briefly how the snippet works. + +```js +const spreadOver = fn => argsArr => + fn(...argsArr) +/* +const arrayMax = spreadOver(Math.max) +arrayMax([1,2,3]) // -> 3 +arrayMax([1,2,4]) // -> 4 +*/ +``` \ No newline at end of file diff --git a/tag_database b/tag_database index 78da7daaf..c2c5be33f 100644 --- a/tag_database +++ b/tag_database @@ -105,6 +105,7 @@ similarity:array sleep:function sortCharactersInString:string speechSynthesis:media +spreadOver:adapter standardDeviation:math symmetricDifference:array tail:array From 93b6f3f28b21e5eae48bbeef5741cfdd9d0de289 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 22 Dec 2017 09:41:39 +0200 Subject: [PATCH 2/3] Minor formatting and updated description --- snippets/spreadOver.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/snippets/spreadOver.md b/snippets/spreadOver.md index 5e8251d87..6bfc0d0ed 100644 --- a/snippets/spreadOver.md +++ b/snippets/spreadOver.md @@ -1,15 +1,14 @@ ### Spread Over -Takes a veriadic function and returns a closure that accepts an array of arguments to map to the inputs of the functions +Takes a veriadic function and returns a closure that accepts an array of arguments to map to the inputs of the function. -Explain briefly how the snippet works. +Use closures and the spread operator (`...`) to map the array of arguments to the inputs of the function. ```js -const spreadOver = fn => argsArr => - fn(...argsArr) +const spreadOver = fn => argsArr => fn(...argsArr); /* const arrayMax = spreadOver(Math.max) arrayMax([1,2,3]) // -> 3 arrayMax([1,2,4]) // -> 4 */ -``` \ No newline at end of file +``` From 2056006fd421fc222911b46d1972653a2c8c221d Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 22 Dec 2017 09:44:14 +0200 Subject: [PATCH 3/3] Update spreadOver.md --- snippets/spreadOver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/spreadOver.md b/snippets/spreadOver.md index 6bfc0d0ed..39ea7362e 100644 --- a/snippets/spreadOver.md +++ b/snippets/spreadOver.md @@ -1,4 +1,4 @@ -### Spread Over +### spreadOver Takes a veriadic function and returns a closure that accepts an array of arguments to map to the inputs of the function.