diff --git a/snippets/ary.md b/snippets/ary.md new file mode 100644 index 000000000..5251d72cd --- /dev/null +++ b/snippets/ary.md @@ -0,0 +1,14 @@ +### ary + +Creates a function that accepts up to `n` arguments, ignoring any additional arguments. + +Call the provided function, `fn`, with up to `n` arguments, using `Array.slice(0,n)` and the spread operator (`...`). + +```js +const ary = (fn, n) => (...args) => fn(...args.slice(0, n)); +``` + +```js +const firstTwoMax = ary(Math.max, 2); +[[2, 6, 'a'], [8, 4, 6], [10]].map(x => firstTwoMax(...x)); // [6, 8, 10] +``` diff --git a/tag_database b/tag_database index da3fb5c24..3fd6e374f 100644 --- a/tag_database +++ b/tag_database @@ -1,5 +1,6 @@ anagrams:string,recursion arrayToHtmlList:browser,array +ary:adapter,function atob:node,string,utility average:math,array averageBy:math,array,function