Adapter
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);
+ }
30 seconds of code Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less.
Adapter
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);
Promise.resolve([1, 2, 3])
.then(call('map', x => 2 * x))
.then(console.log); //[ 2, 4, 6 ]
@@ -163,16 +163,16 @@ initializeArrayWithRange(7, 3); // [3,4,5,6,7]
return a.filter(x => s.has(x));
};
intersection([1, 2, 3], [4, 3, 2]); // [2,3]
-
functionName
Returns 1 if the array is sorted in ascending order, -1 if it is sorted in descending order or 0 if it is not sorted.
Calculate the ordering direction for the first two elements. Use Object.entries() to loop over array objects and compare them in pairs. Return 0 if the direction changes or the direction if the last element is reached.
const isArraySorted = arr => {
+
isSorted
Returns 1 if the array is sorted in ascending order, -1 if it is sorted in descending order or 0 if it is not sorted.
Calculate the ordering direction for the first two elements. Use Object.entries() to loop over array objects and compare them in pairs. Return 0 if the direction changes or the direction if the last element is reached.
const isSorted = arr => {
const direction = arr[0] > arr[1] ? -1 : 1;
for (let [i, val] of arr.entries())
if (i === arr.length - 1) return direction;
else if ((val - arr[i + 1]) * direction > 0) return 0;
};
-
isArraySorted([0, 1, 2, 3]); // 1
-isArraySorted([0, 1, 2, 2]); // 1
-isArraySorted([4, 3, 2]); // -1
-isArraySorted([4, 3, 5]); // 0
+
isSorted([0, 1, 2, 3]); // 1
+isSorted([0, 1, 2, 2]); // 1
+isSorted([4, 3, 2]); // -1
+isSorted([4, 3, 5]); // 0
join
Joins all elements of an array into a string and returns this string. Uses a separator and an end separator.
Use Array.reduce() to combine elements into a string. Omit the second argument, separator, to use a default separator of ','. Omit the third argument, end, to use the same value as separator by default.
const join = (arr, separator = ',', end = separator) =>
arr.reduce(
(acc, val, i) =>
diff --git a/tag_database b/tag_database
index 953c59509..7b9178af1 100644
--- a/tag_database
+++ b/tag_database
@@ -71,7 +71,6 @@ isAbsoluteURL:string
isArmstrongNumber:math
isArray:utility
isArrayLike:utility
-isSorted:array
isBoolean:utility
isDivisible:math
isEven:math
@@ -81,6 +80,7 @@ isNumber:utility
isPrime:math
isPrimitive:utility
isPromiseLike:utility
+isSorted:array
isString:utility
isSymbol:utility
isTravisCI:node