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 (...).
const ary = ( fn, n) => ( ... args) => fn ( ... args. slice ( 0 , n));
+ } 30 seconds of code Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less. Search for snippet...
Adapter ary call collectInto flip over pipeFunctions promisify spreadOver Adaptor unary Array chunk compact countBy countOccurrences deepFlatten difference differenceBy differenceWith dropElements dropRight everyNth filterNonUnique findLast findLastIndex flatten forEachRight groupBy head indexOfAll initial initialize2DArray initializeArrayWithRange initializeArrayWithRangeRight initializeArrayWithValues intersection intersectionBy intersectionWith isSorted join last longestItem mapObject maxN minN nthElement partition pull pullAtIndex pullAtValue reducedFilter remove sample sampleSize shuffle similarity sortedIndex sortedLastIndex symmetricDifference symmetricDifferenceBy symmetricDifferenceWith tail take takeRight union unionBy unionWith uniqueElements unzip unzipWith without xProd zip zipObject zipWith Browser arrayToHtmlList bottomVisible copyToClipboard createElement createEventHub currentURL detectDeviceType elementIsVisibleInViewport getScrollPosition getStyle hasClass hashBrowser hide httpsRedirect observeMutations off on onUserInputChange redirect runAsync scrollToTop setStyle show toggleClass UUIDGeneratorBrowser Date formatDuration getDaysDiffBetweenDates tomorrow Function bind bindKey chainAsync compose composeRight curry defer delay functionName memoize negate once partial partialRight runPromisesInSeries sleep times Math average averageBy clampNumber digitize distance elo factorial fibonacci gcd geometricProgression hammingDistance inRange isDivisible isEven isPrime lcm luhnCheck maxBy median minBy percentile powerset primes randomIntArrayInRange randomIntegerInRange randomNumberInRange round sdbm standardDeviation sum sumBy sumPower toSafeInteger Node atob btoa colorize hasFlags hashNode isTravisCI JSONToFile readFileLines untildify UUIDGeneratorNode Object deepClone defaults equals findKey findLastKey forOwn forOwnRight functions get invertKeyValues lowercaseKeys mapKeys mapValues matches matchesWith merge objectFromPairs objectToPairs omit omitBy orderBy pick pickBy shallowClone size transform truthCheckCollection String anagrams byteSize capitalize capitalizeEveryWord decapitalize escapeHTML escapeRegExp fromCamelCase isAbsoluteURL isLowerCase isUpperCase mask palindrome pluralize reverseString sortCharactersInString splitLines toCamelCase toKebabCase toSnakeCase truncateString unescapeHTML URLJoin words Type getType is isArrayLike isBoolean isEmpty isFunction isNil isNull isNumber isObject isObjectLike isPlainObject isPrimitive isPromiseLike isString isSymbol isUndefined isValidJSON Utility castArray cloneRegExp coalesce coalesceFactory extendHex getURLParameters hexToRGB httpGet httpPost nthArg parseCookie prettyBytes randomHexColorCode RGBToHex serializeCookie timeTaken toDecimalMark toOrdinalSuffix validateNumber yesNo Adapter 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 (...).
const ary = ( fn, n) => ( ... args) => fn ( ... args. slice ( 0 , n));
Show examples const firstTwoMax = ary ( Math. max, 2 );
[[ 2 , 6 , 'a' ], [ 8 , 4 , 6 ], [ 10 ]]. map ( x => firstTwoMax ( ... x));
📋 Copy to clipboard call Given a key and a set of arguments, call them when given a context. Primarily useful in composition.
Use a closure to call a stored key with stored arguments.
const call = ( key, ... args) => context => context[ key]( ... args);
@@ -419,6 +419,8 @@ Object. assig
Show examples unzipWith ([[ 1 , 10 , 100 ], [ 2 , 20 , 200 ]], ( ... args) => args. reduce (( acc, v) => acc + v, 0 ));
📋 Copy to clipboard without Filters out the elements of an array, that have one of the specified values.
Use Array.filter() to create an array excluding(using !Array.includes()) all given values.
(For a snippet that mutates the original array see pull )
const without = ( arr, ... args) => arr. filter ( v => ! args. includes ( v));
Show examples without ([ 2 , 1 , 2 , 3 ], 1 , 2 );
+📋 Copy to clipboard xProd Creates a new array out of the two supplied by creating each possible pair from the arrays.
Use Array.map() to produce every possible pair from the elements of the two arrays.
const xProd = ( a, b) => a. map ( x => b. map ( y => [ x, y]));
+Show examples xProd ([ 1 , 2 ], [ 'a' , 'b' ]);
📋 Copy to clipboard zip Creates an array of elements, grouped based on the position in the original arrays.
Use Math.max.apply() to get the longest array in the arguments. Creates an array with that length as return value and use Array.from() with a map-function to create an array of grouped elements. If lengths of the argument-arrays vary, undefined is used where no value could be found.
const zip = ( ... arrays) => {
const maxLength = Math. max ( ... arrays. map ( x => x. length));
return Array. from ({ length: maxLength }). map (( _, i) => {