Merge branch 'master' of github.com:Chalarangelo/30-seconds-of-code

This commit is contained in:
Oscar Shrimpton
2018-01-30 20:23:04 +00:00
10 changed files with 20 additions and 19 deletions

View File

@ -7672,8 +7672,8 @@ Use `Math.random` to generate a random 24-bit(6x4bits) hexadecimal number. Use b
```js
const randomHexColorCode = () => {
let n = ((Math.random() * 0xfffff) | 0).toString(16);
return '#' + (n.length !== 6 ? ((Math.random() * 0xf) | 0).toString(16) + n : n);
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
```

4
dist/_30s.es5.js vendored
View File

@ -1638,8 +1638,8 @@ var pullBy = function pullBy(arr) {
};
var randomHexColorCode = function randomHexColorCode() {
var n = (Math.random() * 0xfffff | 0).toString(16);
return '#' + (n.length !== 6 ? (Math.random() * 0xf | 0).toString(16) + n : n);
var n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
var randomIntArrayInRange = function randomIntArrayInRange(min, max) {

File diff suppressed because one or more lines are too long

4
dist/_30s.esm.js vendored
View File

@ -938,8 +938,8 @@ const pullBy = (arr, ...args) => {
};
const randomHexColorCode = () => {
let n = ((Math.random() * 0xfffff) | 0).toString(16);
return '#' + (n.length !== 6 ? ((Math.random() * 0xf) | 0).toString(16) + n : n);
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
const randomIntArrayInRange = (min, max, n = 1) =>

4
dist/_30s.js vendored
View File

@ -944,8 +944,8 @@ const pullBy = (arr, ...args) => {
};
const randomHexColorCode = () => {
let n = ((Math.random() * 0xfffff) | 0).toString(16);
return '#' + (n.length !== 6 ? ((Math.random() * 0xf) | 0).toString(16) + n : n);
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
const randomIntArrayInRange = (min, max, n = 1) =>

2
dist/_30s.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1835,8 +1835,8 @@ Logs: {
<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">);
<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 operator">*</span> <span class="token number">1000000</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> n<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 number">6</span><span class="token punctuation">);
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">randomHexColorCode</span><span class="token punctuation">();</span> <span class="token comment">// "#e34155"</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="rgbtohex" class="section double-padded">RGBToHex</h3><div class="section double-padded"><p>Converts the values of RGB components to a color code.</p><p>Convert given RGB parameters to hexadecimal string using bitwise left-shift operator (<code>&lt;&lt;</code>) and <code>toString(16)</code>, then <code>String.padStart(6,'0')</code> to get a 6-digit hexadecimal value.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">RGBToHex</span> <span class="token operator">=</span> <span class="token punctuation">(</span>r<span class="token punctuation">,</span> g<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">((</span>r <span class="token operator">&lt;&lt;</span> <span class="token number">16</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span>g <span class="token operator">&lt;&lt;</span> <span class="token number">8</span><span class="token punctuation">)</span> <span class="token operator">+</span> b<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 function">padStart</span><span class="token punctuation">(</span><span class="token number">6</span><span class="token punctuation">,</span> <span class="token string">'0'</span><span class="token punctuation">);</span>

View File

@ -6,7 +6,7 @@ Use `Math.random` to generate a random 24-bit(6x4bits) hexadecimal number. Use b
```js
const randomHexColorCode = () => {
let n = (((Math.random() * 0xfffff)) * 1000000).toString(16);
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
```

View File

@ -1,5 +1,5 @@
const randomHexColorCode = () => {
let n = ((Math.random() * 0xfffff) | 0).toString(16);
return '#' + (n.length !== 6 ? ((Math.random() * 0xf) | 0).toString(16) + n : n);
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
module.exports = randomHexColorCode

View File

@ -1,4 +1,4 @@
Test log for: Sun Jan 28 2018 20:14:47 GMT+0000 (UTC)
Test log for: Tue Jan 30 2018 20:16:22 GMT+0000 (UTC)
> 30-seconds-of-code@0.0.1 test /home/travis/build/Chalarangelo/30-seconds-of-code
> tape test/**/*.test.js | tap-spec
@ -1108,6 +1108,7 @@ Test log for: Sun Jan 28 2018 20:14:47 GMT+0000 (UTC)
Testing randomHexColorCode
✔ randomHexColorCode is a Function
✔ should be equal
Testing randomIntArrayInRange
@ -1608,8 +1609,8 @@ Test log for: Sun Jan 28 2018 20:14:47 GMT+0000 (UTC)
✔ Works with multiple promises
total: 721
passing: 721
duration: 3.2s
total: 722
passing: 722
duration: 2.9s