From 54a6caee59f989e49680257cc2d6e171acdf4868 Mon Sep 17 00:00:00 2001
From: 30secondsofcode <30secondsofcode@gmail.com>
Date: Thu, 4 Jan 2018 09:58:08 +0000
Subject: [PATCH] Travis build: 1017
---
README.md | 158 ++++++++++++++++++++++++------------------------
docs/index.html | 66 ++++++++++----------
2 files changed, 112 insertions(+), 112 deletions(-)
diff --git a/README.md b/README.md
index 6872d8038..13cd4ac68 100644
--- a/README.md
+++ b/README.md
@@ -170,6 +170,7 @@ average(1, 2, 3);
View contents
+* [`formatDuration`](#formatduration)
* [`getDaysDiffBetweenDates`](#getdaysdiffbetweendates)
* [`JSONToDate`](#jsontodate)
* [`toEnglishDate`](#toenglishdate)
@@ -229,6 +230,7 @@ average(1, 2, 3);
* [`isEven`](#iseven)
* [`isPrime`](#isprime)
* [`lcm`](#lcm)
+* [`luhnCheck`](#luhncheck)
* [`median`](#median)
* [`percentile`](#percentile)
* [`powerset`](#powerset)
@@ -340,16 +342,6 @@ average(1, 2, 3);
-### _Uncategorized_
-
-
-View contents
-
-* [`formatDuration`](#formatduration)
-* [`luhnCheck`](#luhncheck)
-
-
-
---
## 🔌 Adapter
@@ -2305,6 +2297,46 @@ UUIDGeneratorBrowser(); // '7982fcfe-5721-4632-bede-6000885be57d'
---
## ⏱️ Date
+### formatDuration
+
+Returns the human readable format of the given number of milliseconds.
+
+Divide `ms` with the appropriate values to obtain the appropriate values for `day`, `hour`, `minute`, `second` and `millisecond`.
+Use `Object.entries()` with `Array.filter()` to keep only non-zero values.
+Use `Array.map()` to create the string for each value, pluralizing appropriately.
+Use `String.join(', ')` to combine the values into a string.
+
+```js
+const formatDuration = ms => {
+ if (ms < 0) ms = -ms;
+ const time = {
+ day: Math.floor(ms / 86400000),
+ hour: Math.floor(ms / 3600000) % 24,
+ minute: Math.floor(ms / 60000) % 60,
+ second: Math.floor(ms / 1000) % 60,
+ millisecond: Math.floor(ms) % 1000
+ };
+ return Object.entries(time)
+ .filter(val => val[1] !== 0)
+ .map(val => val[1] + ' ' + (val[1] !== 1 ? val[0] + 's' : val[0]))
+ .join(', ');
+};
+```
+
+
+Examples
+
+```js
+formatDuration(1001); // "1 second, 1 millisecond"
+formatDuration(343250555); // "3 days, 23 hours, 20 minutes, 50 seconds, 555 milliseconds"
+formatDuration(34325055574); // "397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds"
+```
+
+
+
+ [⬆ Back to top](#table-of-contents)
+
+
### getDaysDiffBetweenDates
Returns the difference (in days) between two dates.
@@ -3284,6 +3316,43 @@ lcm([1, 3, 4], 5); // 60
[⬆ Back to top](#table-of-contents)
+### luhnCheck
+
+Implementation of the [Luhn Algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers etc.
+
+Use `String.split('')`, `Array.reverse()` and `Array.map()` in combination with `parseInt()` to obtain an array of digits.
+Use `Array.splice(0,1)` to obtain the last digit.
+Use `Array.reduce()` to implement the Luhn Algorithm.
+Return `true` if `sum` is divisible by `10`, `false` otherwise.
+
+
+```js
+const luhnCheck = num => {
+ let arr = (num + '')
+ .split('')
+ .reverse()
+ .map(x => parseInt(x));
+ let lastDigit = arr.splice(0, 1)[0];
+ let sum = arr.reduce((acc, val, i) => (i % 2 !== 0 ? acc + val : acc + (val * 2) % 9 || 9), 0);
+ sum += lastDigit;
+ return sum % 10 === 0;
+};
+```
+
+
+Examples
+
+```js
+luhnCheck('4485275742308327'); // true
+luhnCheck(6011329933655299); // true
+luhnCheck(123456789); // false
+```
+
+
+
+ [⬆ Back to top](#table-of-contents)
+
+
### median
Returns the median of an array of numbers.
@@ -5368,75 +5437,6 @@ yesNo('Foo', true); // true
[⬆ Back to top](#table-of-contents)
----
- ## _Uncategorized_
-
-### formatDuration
-
-Returns the human readable format of the given number of milliseconds.
-
-Divide `ms` with the appropriate values to obtain the appropriate values for `day`, `hour`, `minute`, `second` and `millisecond`.
-Use `Object.entries()` with `Array.filter()` to keep only non-zero values.
-Use `Array.map()` to create the string for each value, pluralizing appropriately.
-Use `String.join(', ')` to combine the values into a string.
-
-```js
-const formatDuration = ms => {
- if (ms < 0) ms = -ms;
- const time = {
- day: Math.floor(ms / 86400000),
- hour: Math.floor(ms / 3600000) % 24,
- minute: Math.floor(ms / 60000) % 60,
- second: Math.floor(ms / 1000) % 60,
- millisecond: Math.floor(ms) % 1000
- };
- return Object.entries(time)
- .filter(val => val[1] !== 0)
- .map(val => val[1] + ' ' + (val[1] !== 1 ? val[0] + 's' : val[0]))
- .join(', ');
-};
-```
-
-```js
-formatDuration(1001); // "1 second, 1 millisecond"
-formatDuration(343250555); // "3 days, 23 hours, 20 minutes, 50 seconds, 555 milliseconds"
-formatDuration(34325055574); // "397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds"
-```
-
- [⬆ back to top](#table-of-contents)
-
-
-### luhnCheck
-
-Implementation of the [Luhn Algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers etc.
-
-Use `String.split('')`, `Array.reverse()` and `Array.map()` in combination with `parseInt()` to obtain an array of digits.
-Use `Array.splice(0,1)` to obtain the last digit.
-Use `Array.reduce()` to implement the Luhn Algorithm.
-Return `true` if `sum` is divisible by `10`, `false` otherwise.
-
-
-```js
-const luhnCheck = num => {
- let arr = (num + '')
- .split('')
- .reverse()
- .map(x => parseInt(x));
- let lastDigit = arr.splice(0, 1)[0];
- let sum = arr.reduce((acc, val, i) => (i % 2 !== 0 ? acc + val : acc + (val * 2) % 9 || 9), 0);
- sum += lastDigit;
- return sum % 10 === 0;
-};
-```
-
-```js
-luhnCheck('4485275742308327'); // true
-luhnCheck(6011329933655299); // true
-luhnCheck(123456789); // false
-```
-
- [⬆ back to top](#table-of-contents)
-
## Collaborators
diff --git a/docs/index.html b/docs/index.html
index 59a2c54a8..9ade1490e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -33,7 +33,7 @@
document.body.removeChild(textArea);
}
}, false);
- }
30 seconds of code Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less. Search for snippet...
Adapter call collectInto flip pipeFunctions promisify spreadOver Array chunk compact countOccurrences deepFlatten difference differenceWith distinctValuesOfArray dropElements dropRight everyNth filterNonUnique flatten flattenDepth groupBy head initial initialize2DArray initializeArrayWithRange initializeArrayWithValues intersection isSorted join last mapObject maxN minN nthElement pick pull pullAtIndex pullAtValue quickSort reducedFilter remove sample sampleSize shuffle similarity sortedIndex symmetricDifference tail take takeRight union without zip zipObject Browser arrayToHtmlList bottomVisible copyToClipboard currentURL detectDeviceType elementIsVisibleInViewport getScrollPosition getStyle hasClass hide httpsRedirect onUserInputChange redirect runAsync scrollToTop setStyle show speechSynthesis toggleClass UUIDGeneratorBrowser Date getDaysDiffBetweenDates JSONToDate toEnglishDate tomorrow Function chainAsync compose curry defer functionName memoize once runPromisesInSeries sleep Logic negate Math average clampNumber collatz digitize distance elo factorial factors fibonacci fibonacciCountUntilNum fibonacciUntilNum gcd geometricProgression hammingDistance howManyTimes inRange isArmstrongNumber isDivisible isEven isPrime lcm median percentile powerset primes randomIntegerInRange randomNumberInRange round solveRPN standardDeviation sum sumPower Node hasFlags isTravisCI JSONToFile readFileLines untildify UUIDGeneratorNode Object cleanObj invertKeyValues lowercaseKeys objectFromPairs objectToPairs orderBy select shallowClone size truthCheckCollection String anagrams byteSize capitalize capitalizeEveryWord countVowels escapeHTML escapeRegExp fromCamelCase isAbsoluteURL mask palindrome pluralize repeatString reverseString sortCharactersInString splitLines toCamelCase toKebabCase toSnakeCase truncateString unescapeHTML words Utility cloneRegExp coalesce coalesceFactory extendHex getType getURLParameters hexToRGB isArray isArrayLike isBoolean isFunction isNull isNumber isPrimitive isPromiseLike isString isSymbol isValidJSON prettyBytes randomHexColorCode RGBToHex sdbm timeTaken toDecimalMark toOrdinalSuffix validateNumber yesNo Uncategorized formatDuration luhnCheck 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. Search for snippet...
Adapter call collectInto flip pipeFunctions promisify spreadOver Array chunk compact countOccurrences deepFlatten difference differenceWith distinctValuesOfArray dropElements dropRight everyNth filterNonUnique flatten flattenDepth groupBy head initial initialize2DArray initializeArrayWithRange initializeArrayWithValues intersection isSorted join last mapObject maxN minN nthElement pick pull pullAtIndex pullAtValue quickSort reducedFilter remove sample sampleSize shuffle similarity sortedIndex symmetricDifference tail take takeRight union without zip zipObject Browser arrayToHtmlList bottomVisible copyToClipboard currentURL detectDeviceType elementIsVisibleInViewport getScrollPosition getStyle hasClass hide httpsRedirect onUserInputChange redirect runAsync scrollToTop setStyle show speechSynthesis toggleClass UUIDGeneratorBrowser Date formatDuration getDaysDiffBetweenDates JSONToDate toEnglishDate tomorrow Function chainAsync compose curry defer functionName memoize once runPromisesInSeries sleep Logic negate Math average clampNumber collatz digitize distance elo factorial factors fibonacci fibonacciCountUntilNum fibonacciUntilNum gcd geometricProgression hammingDistance howManyTimes inRange isArmstrongNumber isDivisible isEven isPrime lcm luhnCheck median percentile powerset primes randomIntegerInRange randomNumberInRange round solveRPN standardDeviation sum sumPower Node hasFlags isTravisCI JSONToFile readFileLines untildify UUIDGeneratorNode Object cleanObj invertKeyValues lowercaseKeys objectFromPairs objectToPairs orderBy select shallowClone size truthCheckCollection String anagrams byteSize capitalize capitalizeEveryWord countVowels escapeHTML escapeRegExp fromCamelCase isAbsoluteURL mask palindrome pluralize repeatString reverseString sortCharactersInString splitLines toCamelCase toKebabCase toSnakeCase truncateString unescapeHTML words Utility cloneRegExp coalesce coalesceFactory extendHex getType getURLParameters hexToRGB isArray isArrayLike isBoolean isFunction isNull isNumber isPrimitive isPromiseLike isString isSymbol isValidJSON prettyBytes randomHexColorCode RGBToHex sdbm timeTaken toDecimalMark toOrdinalSuffix validateNumber yesNo 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);
Show examples Promise. resolve ([ 1 , 2 , 3 ])
. then ( call ( 'map' , x => 2 * x))
. then ( console. log);
@@ -461,7 +461,24 @@ console. log<
( c ^ ( crypto. getRandomValues ( new Uint8Array ( 1 ))[ 0 ] & ( 15 >> ( c / 4 )))). toString ( 16 )
);
Show examples UUIDGeneratorBrowser ();
- Copy to clipboardDate getDaysDiffBetweenDates Returns the difference (in days) between two dates.
Calculate the difference (in days) between two Date objects.
const getDaysDiffBetweenDates = ( dateInitial, dateFinal) =>
+ Copy to clipboardDate Returns the human readable format of the given number of milliseconds.
Divide ms with the appropriate values to obtain the appropriate values for day, hour, minute, second and millisecond. Use Object.entries() with Array.filter() to keep only non-zero values. Use Array.map() to create the string for each value, pluralizing appropriately. Use String.join(', ') to combine the values into a string.
const formatDuration = ms => {
+ if ( ms < 0 ) ms = - ms;
+ const time = {
+ day: Math. floor ( ms / 86400000 ),
+ hour: Math. floor ( ms / 3600000 ) % 24 ,
+ minute: Math. floor ( ms / 60000 ) % 60 ,
+ second: Math. floor ( ms / 1000 ) % 60 ,
+ millisecond: Math. floor ( ms) % 1000
+ };
+ return Object. entries ( time)
+ . filter ( val => val[ 1 ] !== 0 )
+ . map ( val => val[ 1 ] + ' ' + ( val[ 1 ] !== 1 ? val[ 0 ] + 's' : val[ 0 ]))
+ . join ( ', ' );
+};
+Show examples formatDuration ( 1001 );
+formatDuration ( 343250555 );
+formatDuration ( 34325055574 );
+ Copy to clipboardgetDaysDiffBetweenDates Returns the difference (in days) between two dates.
Calculate the difference (in days) between two Date objects.
const getDaysDiffBetweenDates = ( dateInitial, dateFinal) =>
( dateFinal - dateInitial) / ( 1000 * 3600 * 24 );
Show examples getDaysDiffBetweenDates ( new Date ( '2017-12-13' ), new Date ( '2017-12-22' ));
Copy to clipboardJSONToDate Converts a JSON object to a date.
Use Date(), to convert dates in JSON format to readable format (dd/mm/yyyy).
const JSONToDate = arr => {
@@ -693,6 +710,19 @@ document. bodyShow exampleslcm ( 12 , 7 );
lcm ([ 1 , 3 , 4 ], 5 );
+ Copy to clipboard luhnCheck Implementation of the Luhn Algorithm used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers etc.
Use String.split(''), Array.reverse() and Array.map() in combination with parseInt() to obtain an array of digits. Use Array.splice(0,1) to obtain the last digit. Use Array.reduce() to implement the Luhn Algorithm. Return true if sum is divisible by 10, false otherwise.
const luhnCheck = num => {
+ let arr = ( num + '' )
+ . split ( '' )
+ . reverse ()
+ . map ( x => parseInt ( x));
+ let lastDigit = arr. splice ( 0 , 1 )[ 0 ];
+ let sum = arr. reduce (( acc, val, i) => ( i % 2 !== 0 ? acc + val : acc + ( val * 2 ) % 9 || 9 ), 0 );
+ sum += lastDigit;
+ return sum % 10 === 0 ;
+};
+Show examples luhnCheck ( '4485275742308327' );
+luhnCheck ( 6011329933655299 );
+luhnCheck ( 123456789 );
Copy to clipboardReturns the median of an array of numbers.
Find the middle of the array, use Array.sort() to sort the values. Return the number at the midpoint if length is odd, otherwise the average of the two middle numbers.
const median = arr => {
const mid = Math. floor ( arr. length / 2 ),
nums = [ ... arr]. sort (( a, b) => a - b);
@@ -1203,34 +1233,4 @@ console. log<
yesNo ( 'yes' );
yesNo ( 'No' );
yesNo ( 'Foo' , true );
- Copy to clipboardUncategorized Returns the human readable format of the given number of milliseconds.
Divide ms with the appropriate values to obtain the appropriate values for day, hour, minute, second and millisecond. Use Object.entries() with Array.filter() to keep only non-zero values. Use Array.map() to create the string for each value, pluralizing appropriately. Use String.join(', ') to combine the values into a string.
const formatDuration = ms => {
- if ( ms < 0 ) ms = - ms;
- const time = {
- day: Math. floor ( ms / 86400000 ),
- hour: Math. floor ( ms / 3600000 ) % 24 ,
- minute: Math. floor ( ms / 60000 ) % 60 ,
- second: Math. floor ( ms / 1000 ) % 60 ,
- millisecond: Math. floor ( ms) % 1000
- };
- return Object. entries ( time)
- . filter ( val => val[ 1 ] !== 0 )
- . map ( val => val[ 1 ] + ' ' + ( val[ 1 ] !== 1 ? val[ 0 ] + 's' : val[ 0 ]))
- . join ( ', ' );
-};
-Show examples formatDuration ( 1001 );
-formatDuration ( 343250555 );
-formatDuration ( 34325055574 );
- Copy to clipboardluhnCheck Implementation of the Luhn Algorithm used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers etc.
Use String.split(''), Array.reverse() and Array.map() in combination with parseInt() to obtain an array of digits. Use Array.splice(0,1) to obtain the last digit. Use Array.reduce() to implement the Luhn Algorithm. Return true if sum is divisible by 10, false otherwise.
const luhnCheck = num => {
- let arr = ( num + '' )
- . split ( '' )
- . reverse ()
- . map ( x => parseInt ( x));
- let lastDigit = arr. splice ( 0 , 1 )[ 0 ];
- let sum = arr. reduce (( acc, val, i) => ( i % 2 !== 0 ? acc + val : acc + ( val * 2 ) % 9 || 9 ), 0 );
- sum += lastDigit;
- return sum % 10 === 0 ;
-};
-Show examples luhnCheck ( '4485275742308327' );
-luhnCheck ( 6011329933655299 );
-luhnCheck ( 123456789 );
- Copy to clipboard