Travis build: 1547

This commit is contained in:
30secondsofcode
2018-02-04 15:49:33 +00:00
parent 3129126866
commit 4c35266581
2 changed files with 14 additions and 14 deletions

View File

@ -1156,7 +1156,7 @@ Omit the second argument, `depth` to flatten only to a depth of `1` (single flat
```js ```js
const flatten = (arr, depth = 1) => const flatten = (arr, depth = 1) =>
depth != 1 depth !== 1
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), []) ? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), [])
: arr.reduce((a, v) => a.concat(v), []); : arr.reduce((a, v) => a.concat(v), []);
``` ```
@ -1517,9 +1517,9 @@ Omit the third argument, `end`, to use the same value as `separator` by default.
const join = (arr, separator = ',', end = separator) => const join = (arr, separator = ',', end = separator) =>
arr.reduce( arr.reduce(
(acc, val, i) => (acc, val, i) =>
i == arr.length - 2 i === arr.length - 2
? acc + val + end ? acc + val + end
: i == arr.length - 1 ? acc + val : acc + val + separator, : i === arr.length - 1 ? acc + val : acc + val + separator,
'' ''
); );
``` ```
@ -1962,7 +1962,7 @@ const remove = (arr, func) =>
<summary>Examples</summary> <summary>Examples</summary>
```js ```js
remove([1, 2, 3, 4], n => n % 2 == 0); // [2, 4] remove([1, 2, 3, 4], n => n % 2 === 0); // [2, 4]
``` ```
</details> </details>
@ -3956,7 +3956,7 @@ const negate = func => (...args) => !func(...args);
<summary>Examples</summary> <summary>Examples</summary>
```js ```js
[1, 2, 3, 4, 5, 6].filter(negate(n => n % 2 == 0)); // [ 1, 3, 5 ] [1, 2, 3, 4, 5, 6].filter(negate(n => n % 2 === 0)); // [ 1, 3, 5 ]
``` ```
</details> </details>
@ -4595,7 +4595,7 @@ Return `false` if any of them divides the given number, else return `true`, unle
```js ```js
const isPrime = num => { const isPrime = num => {
const boundary = Math.floor(Math.sqrt(num)); const boundary = Math.floor(Math.sqrt(num));
for (var i = 2; i <= boundary; i++) if (num % i == 0) return false; for (var i = 2; i <= boundary; i++) if (num % i === 0) return false;
return num >= 2; return num >= 2;
}; };
``` ```
@ -4806,7 +4806,7 @@ const primes = num => {
let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2), let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2),
sqroot = Math.floor(Math.sqrt(num)), sqroot = Math.floor(Math.sqrt(num)),
numsTillSqroot = Array.from({ length: sqroot - 1 }).map((x, i) => i + 2); numsTillSqroot = Array.from({ length: sqroot - 1 }).map((x, i) => i + 2);
numsTillSqroot.forEach(x => (arr = arr.filter(y => y % x !== 0 || y == x))); numsTillSqroot.forEach(x => (arr = arr.filter(y => y % x !== 0 || y === x)));
return arr; return arr;
}; };
``` ```

View File

@ -185,7 +185,7 @@ Object<span class="token punctuation">.</span><span class="token function">assig
.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)[</span><span class="token number">0</span><span class="token punctuation">][</span><span class="token number">0</span><span class="token punctuation">];</span> .</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)[</span><span class="token number">0</span><span class="token punctuation">][</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">findLastIndex</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">],</span> n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">===</span> <span class="token number">1</span><span class="token punctuation">);</span> <span class="token comment">// 2 (index of the value 3)</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">findLastIndex</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">],</span> n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">===</span> <span class="token number">1</span><span class="token punctuation">);</span> <span class="token comment">// 2 (index of the value 3)</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="flatten" class="section double-padded">flatten</h3><div class="section double-padded"><p>Flattens an array up to the specified depth.</p><p>Use recursion, decrementing <code>depth</code> by 1 for each level of depth. Use <code>Array.reduce()</code> and <code>Array.concat()</code> to merge elements or arrays. Base case, for <code>depth</code> equal to <code>1</code> stops recursion. Omit the second argument, <code>depth</code> to flatten only to a depth of <code>1</code> (single flatten).</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">flatten</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> depth <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=></span> </pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="flatten" class="section double-padded">flatten</h3><div class="section double-padded"><p>Flattens an array up to the specified depth.</p><p>Use recursion, decrementing <code>depth</code> by 1 for each level of depth. Use <code>Array.reduce()</code> and <code>Array.concat()</code> to merge elements or arrays. Base case, for <code>depth</code> equal to <code>1</code> stops recursion. Omit the second argument, <code>depth</code> to flatten only to a depth of <code>1</code> (single flatten).</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">flatten</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> depth <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=></span>
depth <span class="token operator">!=</span> <span class="token number">1</span> depth <span class="token operator">!==</span> <span class="token number">1</span>
<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> a<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>Array<span class="token punctuation">.</span><span class="token function">isArray</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token function">flatten</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span> depth <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">) :</span> v<span class="token punctuation">), []) <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> a<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>Array<span class="token punctuation">.</span><span class="token function">isArray</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token function">flatten</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span> depth <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">) :</span> v<span class="token punctuation">), [])
:</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> a<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>v<span class="token punctuation">), []);</span> :</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> a<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>v<span class="token punctuation">), []);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">flatten</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">, [</span><span class="token number">2</span><span class="token punctuation">],</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]);</span> <span class="token comment">// [1, 2, 3, 4]</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">flatten</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">, [</span><span class="token number">2</span><span class="token punctuation">],</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">]);</span> <span class="token comment">// [1, 2, 3, 4]</span>
@ -255,9 +255,9 @@ Object<span class="token punctuation">.</span><span class="token function">assig
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="join" class="section double-padded">join</h3><div class="section double-padded"><p>Joins all elements of an array into a string and returns this string. Uses a separator and an end separator.</p><p>Use <code>Array.reduce()</code> to combine elements into a string. Omit the second argument, <code>separator</code>, to use a default separator of <code>','</code>. Omit the third argument, <code>end</code>, to use the same value as <code>separator</code> by default.</p><pre class="language-js"><span class="token keyword">const</span> join <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> separator <span class="token operator">=</span> <span class="token string">','</span><span class="token punctuation">,</span> end <span class="token operator">=</span> separator<span class="token punctuation">)</span> <span class="token operator">=></span> </pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="join" class="section double-padded">join</h3><div class="section double-padded"><p>Joins all elements of an array into a string and returns this string. Uses a separator and an end separator.</p><p>Use <code>Array.reduce()</code> to combine elements into a string. Omit the second argument, <code>separator</code>, to use a default separator of <code>','</code>. Omit the third argument, <code>end</code>, to use the same value as <code>separator</code> by default.</p><pre class="language-js"><span class="token keyword">const</span> join <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> separator <span class="token operator">=</span> <span class="token string">','</span><span class="token punctuation">,</span> end <span class="token operator">=</span> separator<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">( 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> i<span class="token punctuation">)</span> <span class="token operator">=></span> (</span>acc<span class="token punctuation">,</span> val<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span>
i <span class="token operator">==</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">2</span> i <span class="token operator">===</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">2</span>
<span class="token operator">?</span> acc <span class="token operator">+</span> val <span class="token operator">+</span> end <span class="token operator">?</span> acc <span class="token operator">+</span> val <span class="token operator">+</span> end
<span class="token punctuation">:</span> i <span class="token operator">==</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">1</span> <span class="token operator">?</span> acc <span class="token operator">+</span> val <span class="token punctuation">:</span> acc <span class="token operator">+</span> val <span class="token operator">+</span> separator<span class="token punctuation">,</span> <span class="token punctuation">:</span> i <span class="token operator">===</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">1</span> <span class="token operator">?</span> acc <span class="token operator">+</span> val <span class="token punctuation">:</span> acc <span class="token operator">+</span> val <span class="token operator">+</span> separator<span class="token punctuation">,</span>
<span class="token string">''</span> <span class="token string">''</span>
<span class="token punctuation">);</span> <span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">join</span><span class="token punctuation">([</span><span class="token string">'pen'</span><span class="token punctuation">,</span> <span class="token string">'pineapple'</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'pen'</span><span class="token punctuation">],</span> <span class="token string">','</span><span class="token punctuation">,</span> <span class="token string">'&amp;'</span><span class="token punctuation">);</span> <span class="token comment">// "pen,pineapple,apple&amp;pen"</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">join</span><span class="token punctuation">([</span><span class="token string">'pen'</span><span class="token punctuation">,</span> <span class="token string">'pineapple'</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'pen'</span><span class="token punctuation">],</span> <span class="token string">','</span><span class="token punctuation">,</span> <span class="token string">'&amp;'</span><span class="token punctuation">);</span> <span class="token comment">// "pen,pineapple,apple&amp;pen"</span>
@ -375,7 +375,7 @@ Object<span class="token punctuation">.</span><span class="token function">assig
<span class="token keyword">return</span> acc<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>val<span class="token punctuation">); <span class="token keyword">return</span> acc<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>val<span class="token punctuation">);
}, []) }, [])
: [];</span> : [];</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">remove</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">],</span> n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">);</span> <span class="token comment">// [2, 4]</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">remove</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">],</span> n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">===</span> <span class="token number">0</span><span class="token punctuation">);</span> <span class="token comment">// [2, 4]</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="sample" class="section double-padded">sample</h3><div class="section double-padded"><p>Returns a random element from an array.</p><p>Use <code>Math.random()</code> to generate a random number, multiply it by <code>length</code> and round it of to the nearest whole number using <code>Math.floor()</code>. This method also works with strings.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sample</span> <span class="token operator">=</span> arr <span class="token operator">=></span> arr<span class="token punctuation">[</span>Math<span class="token punctuation">.</span><span class="token function">floor</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> arr<span class="token punctuation">.</span>length<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="sample" class="section double-padded">sample</h3><div class="section double-padded"><p>Returns a random element from an array.</p><p>Use <code>Math.random()</code> to generate a random number, multiply it by <code>length</code> and round it of to the nearest whole number using <code>Math.floor()</code>. This method also works with strings.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sample</span> <span class="token operator">=</span> arr <span class="token operator">=></span> arr<span class="token punctuation">[</span>Math<span class="token punctuation">.</span><span class="token function">floor</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> arr<span class="token punctuation">.</span>length<span class="token punctuation">)];</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sample</span><span class="token punctuation">([</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">7</span><span class="token punctuation">,</span> <span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">11</span><span class="token punctuation">]);</span> <span class="token comment">// 9</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sample</span><span class="token punctuation">([</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">7</span><span class="token punctuation">,</span> <span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">11</span><span class="token punctuation">]);</span> <span class="token comment">// 9</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="samplesize" class="section double-padded">sampleSize</h3><div class="section double-padded"><p>Gets <code>n</code> random elements at unique keys from <code>array</code> up to the size of <code>array</code>.</p><p>Shuffle the array using the <a href="https://github.com/chalarangelo/30-seconds-of-code#shuffle">Fisher-Yates algorithm</a>. Use <code>Array.slice()</code> to get the first <code>n</code> elements. Omit the second argument, <code>n</code> to get only one element at random from the array.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sampleSize</span> <span class="token operator">=</span> <span class="token punctuation">([</span><span class="token operator">...</span>arr<span class="token punctuation">],</span> n <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=></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="samplesize" class="section double-padded">sampleSize</h3><div class="section double-padded"><p>Gets <code>n</code> random elements at unique keys from <code>array</code> up to the size of <code>array</code>.</p><p>Shuffle the array using the <a href="https://github.com/chalarangelo/30-seconds-of-code#shuffle">Fisher-Yates algorithm</a>. Use <code>Array.slice()</code> to get the first <code>n</code> elements. Omit the second argument, <code>n</code> to get only one element at random from the array.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sampleSize</span> <span class="token operator">=</span> <span class="token punctuation">([</span><span class="token operator">...</span>arr<span class="token punctuation">],</span> n <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
@ -900,7 +900,7 @@ document<span class="token punctuation">.</span><span class="token function">que
<span class="token function">anagramsCached</span><span class="token punctuation">(</span><span class="token string">'javascript'</span><span class="token punctuation">);</span> <span class="token comment">// returns virtually instantly since it's now cached</span> <span class="token function">anagramsCached</span><span class="token punctuation">(</span><span class="token string">'javascript'</span><span class="token punctuation">);</span> <span class="token comment">// returns virtually instantly since it's now cached</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>anagramsCached<span class="token punctuation">.</span>cache<span class="token punctuation">);</span> <span class="token comment">// The cached anagrams map</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>anagramsCached<span class="token punctuation">.</span>cache<span class="token punctuation">);</span> <span class="token comment">// The cached anagrams map</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="negate" class="section double-padded">negate</h3><div class="section double-padded"><p>Negates a predicate function.</p><p>Take a predicate function and apply the not operator (<code>!</code>) to it with its arguments.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">negate</span> <span class="token operator">=</span> func <span class="token operator">=></span> <span class="token punctuation">(</span><span class="token operator">...</span>args<span class="token punctuation">)</span> <span class="token operator">=> !</span><span class="token function">func</span><span class="token punctuation">(</span><span class="token operator">...</span>args<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="negate" class="section double-padded">negate</h3><div class="section double-padded"><p>Negates a predicate function.</p><p>Take a predicate function and apply the not operator (<code>!</code>) to it with its arguments.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">negate</span> <span class="token operator">=</span> func <span class="token operator">=></span> <span class="token punctuation">(</span><span class="token operator">...</span>args<span class="token punctuation">)</span> <span class="token operator">=> !</span><span class="token function">func</span><span class="token punctuation">(</span><span class="token operator">...</span>args<span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">].</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token function">negate</span><span class="token punctuation">(</span>n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">));</span> <span class="token comment">// [ 1, 3, 5 ]</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">].</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token function">negate</span><span class="token punctuation">(</span>n <span class="token operator">=></span> n <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">===</span> <span class="token number">0</span><span class="token punctuation">));</span> <span class="token comment">// [ 1, 3, 5 ]</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="once" class="section double-padded">once</h3><div class="section double-padded"><p>Ensures a function is called only once.</p><p>Utilizing a closure, use a flag, <code>called</code>, and set it to <code>true</code> once the function is called for the first time, preventing it from being called again. In order to allow the function to have its <code>this</code> context changed (such as in an event listener), the <code>function</code> keyword must be used, and the supplied function must have the context applied. Allow the function to be supplied with an arbitrary number of arguments using the rest/spread (<code>...</code>) operator.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">once</span> <span class="token operator">=</span> fn <span class="token operator">=></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="once" class="section double-padded">once</h3><div class="section double-padded"><p>Ensures a function is called only once.</p><p>Utilizing a closure, use a flag, <code>called</code>, and set it to <code>true</code> once the function is called for the first time, preventing it from being called again. In order to allow the function to have its <code>this</code> context changed (such as in an event listener), the <code>function</code> keyword must be used, and the supplied function must have the context applied. Allow the function to be supplied with an arbitrary number of arguments using the rest/spread (<code>...</code>) operator.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">once</span> <span class="token operator">=</span> fn <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">let</span> called <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span> <span class="token keyword">let</span> called <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
<span class="token keyword">return function</span><span class="token punctuation">(</span><span class="token operator">...</span>args<span class="token punctuation">) {</span> <span class="token keyword">return function</span><span class="token punctuation">(</span><span class="token operator">...</span>args<span class="token punctuation">) {</span>
@ -1057,7 +1057,7 @@ own individual rating by supplying it as the third argument.
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isEven</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">);</span> <span class="token comment">// false</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isEven</span><span class="token punctuation">(</span><span class="token number">3</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="isprime" class="section double-padded">isPrime</h3><div class="section double-padded"><p>Checks if the provided integer is a prime number.</p><p>Check numbers from <code>2</code> to the square root of the given number. Return <code>false</code> if any of them divides the given number, else return <code>true</code>, unless the number is less than <code>2</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isPrime</span> <span class="token operator">=</span> num <span class="token operator">=></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="isprime" class="section double-padded">isPrime</h3><div class="section double-padded"><p>Checks if the provided integer is a prime number.</p><p>Check numbers from <code>2</code> to the square root of the given number. Return <code>false</code> if any of them divides the given number, else return <code>true</code>, unless the number is less than <code>2</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isPrime</span> <span class="token operator">=</span> num <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> boundary <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span>num<span class="token punctuation">));</span> <span class="token keyword">const</span> boundary <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span>num<span class="token punctuation">));</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span> i <span class="token operator">&lt;=</span> boundary<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>num <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token keyword">return</span> <span class="token boolean">false</span><span class="token punctuation">;</span> <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span> i <span class="token operator">&lt;=</span> boundary<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>num <span class="token operator">%</span> i <span class="token operator">===</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token keyword">return</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> num <span class="token operator">>=</span> <span class="token number">2</span><span class="token punctuation">; <span class="token keyword">return</span> num <span class="token operator">>=</span> <span class="token number">2</span><span class="token punctuation">;
};</span> };</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isPrime</span><span class="token punctuation">(</span><span class="token number">11</span><span class="token punctuation">);</span> <span class="token comment">// true</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isPrime</span><span class="token punctuation">(</span><span class="token number">11</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
@ -1102,7 +1102,7 @@ own individual rating by supplying it as the third argument.
<span class="token keyword">let</span> arr <span class="token operator">=</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">({</span> length<span class="token punctuation">:</span> num <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">}).</span><span class="token function">map</span><span class="token punctuation">((</span>x<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> i <span class="token operator">+</span> <span class="token number">2</span><span class="token punctuation">),</span> <span class="token keyword">let</span> arr <span class="token operator">=</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">({</span> length<span class="token punctuation">:</span> num <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">}).</span><span class="token function">map</span><span class="token punctuation">((</span>x<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> i <span class="token operator">+</span> <span class="token number">2</span><span class="token punctuation">),</span>
sqroot <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span>num<span class="token punctuation">)),</span> sqroot <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span>num<span class="token punctuation">)),</span>
numsTillSqroot <span class="token operator">=</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">({</span> length<span class="token punctuation">:</span> sqroot <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">}).</span><span class="token function">map</span><span class="token punctuation">((</span>x<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> i <span class="token operator">+</span> <span class="token number">2</span><span class="token punctuation">);</span> numsTillSqroot <span class="token operator">=</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">({</span> length<span class="token punctuation">:</span> sqroot <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">}).</span><span class="token function">map</span><span class="token punctuation">((</span>x<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> i <span class="token operator">+</span> <span class="token number">2</span><span class="token punctuation">);</span>
numsTillSqroot<span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span>x <span class="token operator">=></span> <span class="token punctuation">(</span>arr <span class="token operator">=</span> arr<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span>y <span class="token operator">=></span> y <span class="token operator">%</span> x <span class="token operator">!==</span> <span class="token number">0</span> <span class="token operator">||</span> y <span class="token operator">==</span> x<span class="token punctuation">)));</span> numsTillSqroot<span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span>x <span class="token operator">=></span> <span class="token punctuation">(</span>arr <span class="token operator">=</span> arr<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span>y <span class="token operator">=></span> y <span class="token operator">%</span> x <span class="token operator">!==</span> <span class="token number">0</span> <span class="token operator">||</span> y <span class="token operator">===</span> x<span class="token punctuation">)));</span>
<span class="token keyword">return</span> arr<span class="token punctuation">; <span class="token keyword">return</span> arr<span class="token punctuation">;
};</span> };</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">primes</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">);</span> <span class="token comment">// [2,3,5,7]</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">primes</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">);</span> <span class="token comment">// [2,3,5,7]</span>