Travis build: 1140

This commit is contained in:
30secondsofcode
2018-01-10 14:25:39 +00:00
parent 3612840fe1
commit 7039cfe278
2 changed files with 22 additions and 22 deletions

View File

@ -1274,7 +1274,7 @@ const partition = (arr, fn) =>
<summary>Examples</summary>
```js
var users = [{ user: 'barney', age: 36, active: false }, { user: 'fred', age: 40, active: true }];
const users = [{ user: 'barney', age: 36, active: false }, { user: 'fred', age: 40, active: true }];
partition(users, o => o.active); // [[{ 'user': 'fred', 'age': 40, 'active': true }],[{ 'user': 'barney', 'age': 36, 'active': false }]]
```
@ -3311,7 +3311,7 @@ const luhnCheck = num => {
```js
luhnCheck('4485275742308327'); // true
luhnCheck(6011329933655299); // true
luhnCheck(6011329933655299); // false
luhnCheck(123456789); // false
```
@ -3508,7 +3508,7 @@ const sdbm = str => {
<summary>Examples</summary>
```js
console.log(sdbm('name')); // -3521204949
sdbm('name'); // -3521204949
```
</details>
@ -3910,7 +3910,7 @@ const objectToPairs = obj => Object.keys(obj).map(k => [k, obj[k]]);
<summary>Examples</summary>
```js
objectToPairs({ a: 1, b: 2 }); // [['a',1],['b',2]])
objectToPairs({ a: 1, b: 2 }); // [['a',1],['b',2]]
```
</details>
@ -4340,7 +4340,7 @@ const mask = (cc, num = 4, mask = '*') =>
```js
mask(1234567890); // '******7890'
mask(1234567890, 3); // '*******890'
mask(1234567890, -4, '$'); // '1234$$$$$$'
mask(1234567890, -4, '$'); // '$$$$567890'
```
</details>
@ -4476,7 +4476,7 @@ const splitLines = str => str.split(/\r?\n/);
<summary>Examples</summary>
```js
splitLines('This\nis a\nmultiline\nstring.\n'); // ['This', 'is a', 'multiline', 'string' , '']
splitLines('This\nis a\nmultiline\nstring.\n'); // ['This', 'is a', 'multiline', 'string.' , '']
```
</details>
@ -4830,7 +4830,7 @@ isNumber(1); // true
### isPrimitive
Returns a boolean determining if the supplied value is primitive or not.
Returns a boolean determining if the passed value is primitive or not.
Use `Array.includes()` on an array of type strings which are not primitive,
supplying the type using `typeof`.
@ -5155,9 +5155,9 @@ const prettyBytes = (num, precision = 3, addSpace = true) => {
<summary>Examples</summary>
```js
prettyBytes(1000); // 1 KB
prettyBytes(-27145424323.5821, 5); // -27.145 GB
prettyBytes(123456789, 3, false); // 123MB
prettyBytes(1000); // "1 KB"
prettyBytes(-27145424323.5821, 5); // "-27.145 GB"
prettyBytes(123456789, 3, false); // "123MB"
```
</details>
@ -5251,7 +5251,7 @@ const toDecimalMark = num => num.toLocaleString('en-US');
<summary>Examples</summary>
```js
toDecimalMark(12305030388.9087); // "12,305,030,388.9087"
toDecimalMark(12305030388.9087); // "12,305,030,388.909"
```
</details>

View File

@ -218,7 +218,7 @@ Object<span class="token punctuation">.</span><span class="token function">assig
},
[[], []]
);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token keyword">var</span> users <span class="token operator">=</span> <span class="token punctuation">[{</span> user<span class="token punctuation">:</span> <span class="token string">'barney'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">36</span><span class="token punctuation">,</span> active<span class="token punctuation">:</span> <span class="token boolean">false</span> <span class="token punctuation">}, {</span> user<span class="token punctuation">:</span> <span class="token string">'fred'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">40</span><span class="token punctuation">,</span> active<span class="token punctuation">:</span> <span class="token boolean">true</span> <span class="token punctuation">}];</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token keyword">const</span> users <span class="token operator">=</span> <span class="token punctuation">[{</span> user<span class="token punctuation">:</span> <span class="token string">'barney'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">36</span><span class="token punctuation">,</span> active<span class="token punctuation">:</span> <span class="token boolean">false</span> <span class="token punctuation">}, {</span> user<span class="token punctuation">:</span> <span class="token string">'fred'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">40</span><span class="token punctuation">,</span> active<span class="token punctuation">:</span> <span class="token boolean">true</span> <span class="token punctuation">}];</span>
<span class="token function">partition</span><span class="token punctuation">(</span>users<span class="token punctuation">,</span> o <span class="token operator">=></span> o<span class="token punctuation">.</span>active<span class="token punctuation">);</span> <span class="token comment">// [[{ 'user': 'fred', 'age': 40, 'active': true }],[{ 'user': 'barney', 'age': 36, 'active': false }]]</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="pick" class="section double-padded">pick</h3><div class="section double-padded"><p>Picks the key-value pairs corresponding to the given keys from an object.</p><p>Use <code>Array.reduce()</code> to convert the filtered/picked keys back to an object with the corresponding key-value pair if the key exists in the obj.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">pick</span> <span class="token operator">=</span> <span class="token punctuation">(</span>obj<span class="token punctuation">,</span> arr<span class="token punctuation">)</span> <span class="token operator">=></span>
arr<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">((</span>acc<span class="token punctuation">,</span> curr<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">(</span>curr <span class="token keyword">in</span> obj <span class="token operator">&amp;&amp;</span> <span class="token punctuation">(</span>acc<span class="token punctuation">[</span>curr<span class="token punctuation">]</span> <span class="token operator">=</span> obj<span class="token punctuation">[</span>curr<span class="token punctuation">]),</span> acc<span class="token punctuation">), {});</span>
@ -731,7 +731,7 @@ own individual rating by supplying it as the third argument.
<span class="token keyword">return</span> sum <span class="token operator">%</span> <span class="token number">10</span> <span class="token operator">===</span> <span class="token number">0</span><span class="token punctuation">;
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">luhnCheck</span><span class="token punctuation">(</span><span class="token string">'4485275742308327'</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">luhnCheck</span><span class="token punctuation">(</span><span class="token number">6011329933655299</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">luhnCheck</span><span class="token punctuation">(</span><span class="token number">6011329933655299</span><span class="token punctuation">);</span> <span class="token comment">// false</span>
<span class="token function">luhnCheck</span><span class="token punctuation">(</span><span class="token number">123456789</span><span class="token punctuation">);</span> <span class="token comment">// false</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="median" class="section double-padded">median</h3><div class="section double-padded"><p>Returns the median of an array of numbers.</p><p>Find the middle of the array, use <code>Array.sort()</code> to sort the values. Return the number at the midpoint if <code>length</code> is odd, otherwise the average of the two middle numbers.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">median</span> <span class="token operator">=</span> arr <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> mid <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>arr<span class="token punctuation">.</span>length <span class="token operator">/</span> <span class="token number">2</span><span class="token punctuation">),</span>
@ -766,7 +766,7 @@ own individual rating by supplying it as the third argument.
<span class="token number">0</span>
<span class="token punctuation">);
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token function">sdbm</span><span class="token punctuation">(</span><span class="token string">'name'</span><span class="token punctuation">));</span> <span class="token comment">// -3521204949</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sdbm</span><span class="token punctuation">(</span><span class="token string">'name'</span><span class="token punctuation">);</span> <span class="token comment">// -3521204949</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="standarddeviation" class="section double-padded">standardDeviation</h3><div class="section double-padded"><p>Returns the standard deviation of an array of numbers.</p><p>Use <code>Array.reduce()</code> to calculate the mean, variance and the sum of the variance of the values, the variance of the values, then determine the standard deviation. You can omit the second argument to get the sample standard deviation or set it to <code>true</code> to get the population standard deviation.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">standardDeviation</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> usePopulation <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> mean <span class="token operator">=</span> arr<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">((</span>acc<span class="token punctuation">,</span> val<span class="token punctuation">)</span> <span class="token operator">=></span> acc <span class="token operator">+</span> val<span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token operator">/</span> arr<span class="token punctuation">.</span>length<span class="token punctuation">;</span>
<span class="token keyword">return</span> Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span>
@ -853,7 +853,7 @@ console<span class="token punctuation">.</span><span class="token function">log<
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="objectfrompairs" class="section double-padded">objectFromPairs</h3><div class="section double-padded"><p>Creates an object from the given key-value pairs.</p><p>Use <code>Array.reduce()</code> to create and combine key-value pairs.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">objectFromPairs</span> <span class="token operator">=</span> arr <span class="token operator">=></span> arr<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">((</span>a<span class="token punctuation">,</span> v<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">((</span>a<span class="token punctuation">[</span>v<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]]</span> <span class="token operator">=</span> v<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]),</span> a<span class="token punctuation">), {});</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">objectFromPairs</span><span class="token punctuation">([[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">], [</span><span class="token string">'b'</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">]]);</span> <span class="token comment">// {a: 1, b: 2}</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="objecttopairs" class="section double-padded">objectToPairs</h3><div class="section double-padded"><p>Creates an array of key-value pair arrays from an object.</p><p>Use <code>Object.keys()</code> and <code>Array.map()</code> to iterate over the object's keys and produce an array with key-value pairs.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">objectToPairs</span> <span class="token operator">=</span> obj <span class="token operator">=></span> Object<span class="token punctuation">.</span><span class="token function">keys</span><span class="token punctuation">(</span>obj<span class="token punctuation">).</span><span class="token function">map</span><span class="token punctuation">(</span>k <span class="token operator">=></span> <span class="token punctuation">[</span>k<span class="token punctuation">,</span> obj<span class="token punctuation">[</span>k<span class="token punctuation">]]);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">objectToPairs</span><span class="token punctuation">({</span> a<span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">,</span> b<span class="token punctuation">:</span> <span class="token number">2</span> <span class="token punctuation">});</span> <span class="token comment">// [['a',1],['b',2]])</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">objectToPairs</span><span class="token punctuation">({</span> a<span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">,</span> b<span class="token punctuation">:</span> <span class="token number">2</span> <span class="token punctuation">});</span> <span class="token comment">// [['a',1],['b',2]]</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="orderby" class="section double-padded">orderBy</h3><div class="section double-padded"><p>Returns a sorted array of objects ordered by properties and orders.</p><p>Uses <code>Array.sort()</code>, <code>Array.reduce()</code> on the <code>props</code> array with a default value of <code>0</code>, use array destructuring to swap the properties position depending on the order passed. If no <code>orders</code> array is passed it sort by <code>'asc'</code> by default.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">orderBy</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> props<span class="token punctuation">,</span> orders<span class="token punctuation">)</span> <span class="token operator">=></span>
<span class="token punctuation">[</span><span class="token operator">...</span>arr<span class="token punctuation">].</span><span class="token function">sort</span><span class="token punctuation">((</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span>
props<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">((</span>acc<span class="token punctuation">,</span> prop<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
@ -944,7 +944,7 @@ console<span class="token punctuation">.</span><span class="token function">log<
<span class="token punctuation">(</span><span class="token string">''</span> <span class="token operator">+</span> cc<span class="token punctuation">).</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token operator">-</span>num<span class="token punctuation">).</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex">/./g</span><span class="token punctuation">,</span> mask<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span><span class="token string">''</span> <span class="token operator">+</span> cc<span class="token punctuation">).</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token operator">-</span>num<span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">mask</span><span class="token punctuation">(</span><span class="token number">1234567890</span><span class="token punctuation">);</span> <span class="token comment">// '******7890'</span>
<span class="token function">mask</span><span class="token punctuation">(</span><span class="token number">1234567890</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">);</span> <span class="token comment">// '*******890'</span>
<span class="token function">mask</span><span class="token punctuation">(</span><span class="token number">1234567890</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token string">'$'</span><span class="token punctuation">);</span> <span class="token comment">// '1234$$$$$$'</span>
<span class="token function">mask</span><span class="token punctuation">(</span><span class="token number">1234567890</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token string">'$'</span><span class="token punctuation">);</span> <span class="token comment">// '$$$$567890'</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="palindrome" class="section double-padded">palindrome</h3><div class="section double-padded"><p>Returns <code>true</code> if the given string is a palindrome, <code>false</code> otherwise.</p><p>Convert string <code>String.toLowerCase()</code> and use <code>String.replace()</code> to remove non-alphanumeric characters from it. Then, <code>String.split('')</code> into individual characters, <code>Array.reverse()</code>, <code>String.join('')</code> and compare to the original, unreversed string, after converting it <code>String.tolowerCase()</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">palindrome</span> <span class="token operator">=</span> str <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> s <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">toLowerCase</span><span class="token punctuation">().</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex">/[\W_]/g</span><span class="token punctuation">,</span> <span class="token string">''</span><span class="token punctuation">);</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
@ -978,7 +978,7 @@ console<span class="token punctuation">.</span><span class="token function">log<
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="sortcharactersinstring" class="section double-padded">sortCharactersInString</h3><div class="section double-padded"><p>Alphabetically sorts the characters in a string.</p><p>Use the spread operator (<code>...</code>), <code>Array.sort()</code> and <code>String.localeCompare()</code> to sort the characters in <code>str</code>, recombine using <code>String.join('')</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sortCharactersInString</span> <span class="token operator">=</span> str <span class="token operator">=></span> <span class="token punctuation">[</span><span class="token operator">...</span>str<span class="token punctuation">].</span><span class="token function">sort</span><span class="token punctuation">((</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span> a<span class="token punctuation">.</span><span class="token function">localeCompare</span><span class="token punctuation">(</span>b<span class="token punctuation">)).</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">''</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sortCharactersInString</span><span class="token punctuation">(</span><span class="token string">'cabbage'</span><span class="token punctuation">);</span> <span class="token comment">// 'aabbceg'</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="splitlines" class="section double-padded">splitLines</h3><div class="section double-padded"><p>Splits a multiline string into an array of lines.</p><p>Use <code>String.split()</code> and a regular expression to match line breaks and create an array.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">splitLines</span> <span class="token operator">=</span> str <span class="token operator">=></span> str<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token regex">/\r?\n/</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">splitLines</span><span class="token punctuation">(</span><span class="token string">'This\nis a\nmultiline\nstring.\n'</span><span class="token punctuation">);</span> <span class="token comment">// ['This', 'is a', 'multiline', 'string' , '']</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">splitLines</span><span class="token punctuation">(</span><span class="token string">'This\nis a\nmultiline\nstring.\n'</span><span class="token punctuation">);</span> <span class="token comment">// ['This', 'is a', 'multiline', 'string.' , '']</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="tocamelcase" class="section double-padded">toCamelCase</h3><div class="section double-padded"><p>Converts a string to camelcase.</p><p>Break the string into words and combine them capitalizing the first letter of each word, using a regexp.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">toCamelCase</span> <span class="token operator">=</span> str <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">let</span> s <span class="token operator">=</span>
str <span class="token operator">&amp;&amp;</span>
@ -1059,7 +1059,7 @@ console<span class="token punctuation">.</span><span class="token function">log<
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="isnumber" class="section double-padded">isNumber</h3><div class="section double-padded"><p>Checks if the given argument is a number.</p><p>Use <code>typeof</code> to check if a value is classified as a number primitive.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isNumber</span> <span class="token operator">=</span> val <span class="token operator">=></span> <span class="token keyword">typeof</span> val <span class="token operator">===</span> <span class="token string">'number'</span><span class="token punctuation">;</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isNumber</span><span class="token punctuation">(</span><span class="token string">'1'</span><span class="token punctuation">);</span> <span class="token comment">// false</span>
<span class="token function">isNumber</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="isprimitive" class="section double-padded">isPrimitive</h3><div class="section double-padded"><p>Returns a boolean determining if the supplied value is primitive or not.</p><p>Use <code>Array.includes()</code> on an array of type strings which are not primitive, supplying the type using <code>typeof</code>. Since <code>typeof null</code> evaluates to <code>'object'</code>, it needs to be directly compared.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isPrimitive</span> <span class="token operator">=</span> val <span class="token operator">=> !</span><span class="token punctuation">[</span><span class="token string">'object'</span><span class="token punctuation">,</span> <span class="token string">'function'</span><span class="token punctuation">].</span><span class="token function">includes</span><span class="token punctuation">(</span><span class="token keyword">typeof</span> val<span class="token punctuation">)</span> <span class="token operator">||</span> val <span class="token operator">===</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="isprimitive" class="section double-padded">isPrimitive</h3><div class="section double-padded"><p>Returns a boolean determining if the passed value is primitive or not.</p><p>Use <code>Array.includes()</code> on an array of type strings which are not primitive, supplying the type using <code>typeof</code>. Since <code>typeof null</code> evaluates to <code>'object'</code>, it needs to be directly compared.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isPrimitive</span> <span class="token operator">=</span> val <span class="token operator">=> !</span><span class="token punctuation">[</span><span class="token string">'object'</span><span class="token punctuation">,</span> <span class="token string">'function'</span><span class="token punctuation">].</span><span class="token function">includes</span><span class="token punctuation">(</span><span class="token keyword">typeof</span> val<span class="token punctuation">)</span> <span class="token operator">||</span> val <span class="token operator">===</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isPrimitive</span><span class="token punctuation">(</span><span class="token keyword">null</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">isPrimitive</span><span class="token punctuation">(</span><span class="token number">50</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">isPrimitive</span><span class="token punctuation">(</span><span class="token string">'Hello!'</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
@ -1143,9 +1143,9 @@ console<span class="token punctuation">.</span><span class="token function">log<
<span class="token keyword">const</span> n <span class="token operator">=</span> <span class="token function">Number</span><span class="token punctuation">(((</span>num <span class="token operator">&lt;</span> <span class="token number">0</span> <span class="token operator">? -</span>num <span class="token punctuation">:</span> num<span class="token punctuation">)</span> <span class="token operator">/</span> <span class="token number">1000</span> <span class="token operator">**</span> exponent<span class="token punctuation">).</span><span class="token function">toPrecision</span><span class="token punctuation">(</span>precision<span class="token punctuation">));</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>num <span class="token operator">&lt;</span> <span class="token number">0</span> <span class="token operator">?</span> <span class="token string">'-'</span> <span class="token punctuation">:</span> <span class="token string">''</span><span class="token punctuation">)</span> <span class="token operator">+</span> n <span class="token operator">+</span> <span class="token punctuation">(</span>addSpace <span class="token operator">?</span> <span class="token string">' '</span> <span class="token punctuation">:</span> <span class="token string">''</span><span class="token punctuation">)</span> <span class="token operator">+</span> UNITS<span class="token punctuation">[</span>exponent<span class="token punctuation">];
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token number">1000</span><span class="token punctuation">);</span> <span class="token comment">// 1 KB</span>
<span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">27145424323.5821</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">);</span> <span class="token comment">// -27.145 GB</span>
<span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token number">123456789</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token boolean">false</span><span class="token punctuation">);</span> <span class="token comment">// 123MB</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token number">1000</span><span class="token punctuation">);</span> <span class="token comment">// "1 KB"</span>
<span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">27145424323.5821</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">);</span> <span class="token comment">// "-27.145 GB"</span>
<span class="token function">prettyBytes</span><span class="token punctuation">(</span><span class="token number">123456789</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token boolean">false</span><span class="token punctuation">);</span> <span class="token comment">// "123MB"</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="randomhexcolorcode" class="section double-padded">randomHexColorCode</h3><div class="section double-padded"><p>Generates a random hexadecimal color code.</p><p>Use <code>Math.random</code> to generate a random 24-bit(6x4bits) hexadecimal number. Use bit shifting and then convert it to an hexadecimal String using <code>toString(16)</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">randomHexColorCode</span> <span class="token operator">=</span> <span class="token punctuation">()</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">let</span> n <span class="token operator">=</span> <span class="token punctuation">((</span>Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">()</span> <span class="token operator">*</span> <span class="token number">0xfffff</span><span class="token punctuation">)</span> <span class="token operator">|</span> <span class="token number">0</span><span class="token punctuation">).</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token number">16</span><span class="token punctuation">);</span>
<span class="token keyword">return</span> <span class="token string">'#'</span> <span class="token operator">+</span> <span class="token punctuation">(</span>n<span class="token punctuation">.</span>length <span class="token operator">!==</span> <span class="token number">6</span> <span class="token operator">?</span> <span class="token punctuation">((</span>Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">()</span> <span class="token operator">*</span> <span class="token number">0xf</span><span class="token punctuation">)</span> <span class="token operator">|</span> <span class="token number">0</span><span class="token punctuation">).</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token number">16</span><span class="token punctuation">)</span> <span class="token operator">+</span> n <span class="token punctuation">:</span> n<span class="token punctuation">);
@ -1161,7 +1161,7 @@ console<span class="token punctuation">.</span><span class="token function">log<
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">timeTaken</span><span class="token punctuation">(()</span> <span class="token operator">=></span> Math<span class="token punctuation">.</span><span class="token function">pow</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">));</span> <span class="token comment">// 1024, (logged): timeTaken: 0.02099609375ms</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="todecimalmark" class="section double-padded">toDecimalMark</h3><div class="section double-padded"><p>Use <code>toLocaleString()</code> to convert a float-point arithmetic to the <a href="https://en.wikipedia.org/wiki/Decimal_mark">Decimal mark</a> form. It makes a comma separated string from a number.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">toDecimalMark</span> <span class="token operator">=</span> num <span class="token operator">=></span> num<span class="token punctuation">.</span><span class="token function">toLocaleString</span><span class="token punctuation">(</span><span class="token string">'en-US'</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">toDecimalMark</span><span class="token punctuation">(</span><span class="token number">12305030388.9087</span><span class="token punctuation">);</span> <span class="token comment">// "12,305,030,388.9087"</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">toDecimalMark</span><span class="token punctuation">(</span><span class="token number">12305030388.9087</span><span class="token punctuation">);</span> <span class="token comment">// "12,305,030,388.909"</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="toordinalsuffix" class="section double-padded">toOrdinalSuffix</h3><div class="section double-padded"><p>Adds an ordinal suffix to a number.</p><p>Use the modulo operator (<code>%</code>) to find values of single and tens digits. Find which ordinal pattern digits match. If digit is found in teens pattern, use teens ordinal.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">toOrdinalSuffix</span> <span class="token operator">=</span> num <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> int <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span>num<span class="token punctuation">),</span>
digits <span class="token operator">=</span> <span class="token punctuation">[</span>int <span class="token operator">%</span> <span class="token number">10</span><span class="token punctuation">,</span> int <span class="token operator">%</span> <span class="token number">100</span><span class="token punctuation">],</span>