Travis build: 1015
This commit is contained in:
36
README.md
36
README.md
@ -345,6 +345,7 @@ average(1, 2, 3);
|
|||||||
<details>
|
<details>
|
||||||
<summary>View contents</summary>
|
<summary>View contents</summary>
|
||||||
|
|
||||||
|
* [`formatDuration`](#formatduration)
|
||||||
* [`luhnCheck`](#luhncheck)
|
* [`luhnCheck`](#luhncheck)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
@ -5370,6 +5371,41 @@ yesNo('Foo', true); // true
|
|||||||
---
|
---
|
||||||
## _Uncategorized_
|
## _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"
|
||||||
|
```
|
||||||
|
|
||||||
|
<br>[⬆ back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
### luhnCheck
|
### 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.
|
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.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -15,7 +15,7 @@ const formatDuration = ms => {
|
|||||||
hour: Math.floor(ms / 3600000) % 24,
|
hour: Math.floor(ms / 3600000) % 24,
|
||||||
minute: Math.floor(ms / 60000) % 60,
|
minute: Math.floor(ms / 60000) % 60,
|
||||||
second: Math.floor(ms / 1000) % 60,
|
second: Math.floor(ms / 1000) % 60,
|
||||||
millisecond: Math.floor(ms) % 1000,
|
millisecond: Math.floor(ms) % 1000
|
||||||
};
|
};
|
||||||
return Object.entries(time)
|
return Object.entries(time)
|
||||||
.filter(val => val[1] !== 0)
|
.filter(val => val[1] !== 0)
|
||||||
|
|||||||
@ -47,6 +47,7 @@ filterNonUnique:array
|
|||||||
flatten:array
|
flatten:array
|
||||||
flattenDepth:array
|
flattenDepth:array
|
||||||
flip:adapter
|
flip:adapter
|
||||||
|
formatDuration:uncategorized
|
||||||
fromCamelCase:string
|
fromCamelCase:string
|
||||||
functionName:function
|
functionName:function
|
||||||
gcd:math
|
gcd:math
|
||||||
|
|||||||
Reference in New Issue
Block a user