Travis build: 53

This commit is contained in:
30secondsofcode
2018-07-06 17:33:49 +00:00
parent 48b082ac88
commit e6cd53cf59
3 changed files with 10 additions and 7 deletions

View File

@ -862,15 +862,16 @@ Use `Array.join('\n')` to combine all rows into a CSV string, separating each ro
Omit the second argument, `delimiter`, to use a default delimiter of `,`.
```js
const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.join(delimiter)).join('\n');
const arrayToCSV = (arr, delimiter = ',') =>
arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
```
<details>
<summary>Examples</summary>
```js
arrayToCSV([['a', 'b'], ['c', 'd']]); // 'a,b\nc,d'
arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // 'a;b\nc;d'
arrayToCSV([['a', 'b'], ['c', 'd']]); // '"a","b"\n"c","d"'
arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // '"a";"b"\n"c";"d"'
```
</details>

View File

@ -85,9 +85,10 @@
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="any" class="section double-padded">any</h3><div class="section double-padded"><p>Returns <code>true</code> if the provided predicate function returns <code>true</code> for at least one element in a collection, <code>false</code> otherwise.</p><p>Use <code>Array.some()</code> to test if any elements in the collection return <code>true</code> based on <code>fn</code>. Omit the second argument, <code>fn</code>, to use <code>Boolean</code> as a default.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">any</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> fn <span class="token operator">=</span> Boolean<span class="token punctuation">)</span> <span class="token operator">=></span> arr<span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span>fn<span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">any</span><span class="token punctuation">([</span><span class="token number">0</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">0</span><span class="token punctuation">],</span> x <span class="token operator">=></span> x <span class="token operator">>=</span> <span class="token number">2</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">any</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 class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</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="arraytocsv" class="section double-padded">arrayToCSV</h3><div class="section double-padded"><p>Converts a 2D array to a comma-separated values (CSV) string.</p><p>Use <code>Array.map()</code> and <code>Array.join(delimiter)</code> to combine individual 1D arrays (rows) into strings. Use <code>Array.join('\n')</code> to combine all rows into a CSV string, separating each row with a newline. Omit the second argument, <code>delimiter</code>, to use a default delimiter of <code>,</code>.</p><pre class="language-js"><span class="token keyword">const</span> arrayToCSV <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> delimiter <span class="token operator">=</span> <span class="token string">','</span><span class="token punctuation">)</span> <span class="token operator">=></span> arr<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>v <span class="token operator">=></span> v<span class="token punctuation">.</span><span class="token function">join</span><span class="token punctuation">(</span>delimiter<span class="token punctuation">)).</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">'\n'</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">arrayToCSV</span><span class="token punctuation">([[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">], [</span><span class="token string">'c'</span><span class="token punctuation">,</span> <span class="token string">'d'</span><span class="token punctuation">]]);</span> <span class="token comment">// 'a,b\nc,d'</span>
<span class="token function">arrayToCSV</span><span class="token punctuation">([[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">], [</span><span class="token string">'c'</span><span class="token punctuation">,</span> <span class="token string">'d'</span><span class="token punctuation">]],</span> <span class="token string">';'</span><span class="token punctuation">);</span> <span class="token comment">// 'a;b\nc;d'</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="arraytocsv" class="section double-padded">arrayToCSV</h3><div class="section double-padded"><p>Converts a 2D array to a comma-separated values (CSV) string.</p><p>Use <code>Array.map()</code> and <code>Array.join(delimiter)</code> to combine individual 1D arrays (rows) into strings. Use <code>Array.join('\n')</code> to combine all rows into a CSV string, separating each row with a newline. Omit the second argument, <code>delimiter</code>, to use a default delimiter of <code>,</code>.</p><pre class="language-js"><span class="token keyword">const</span> arrayToCSV <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> delimiter <span class="token operator">=</span> <span class="token string">','</span><span class="token punctuation">)</span> <span class="token operator">=></span>
arr<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>v <span class="token operator">=></span> v<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>x <span class="token operator">=></span> <span class="token template-string"><span class="token string">`"</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>x<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">"`</span></span><span class="token punctuation">).</span><span class="token function">join</span><span class="token punctuation">(</span>delimiter<span class="token punctuation">)).</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">'\n'</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">arrayToCSV</span><span class="token punctuation">([[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">], [</span><span class="token string">'c'</span><span class="token punctuation">,</span> <span class="token string">'d'</span><span class="token punctuation">]]);</span> <span class="token comment">// '"a","b"\n"c","d"'</span>
<span class="token function">arrayToCSV</span><span class="token punctuation">([[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">], [</span><span class="token string">'c'</span><span class="token punctuation">,</span> <span class="token string">'d'</span><span class="token punctuation">]],</span> <span class="token string">';'</span><span class="token punctuation">);</span> <span class="token comment">// '"a";"b"\n"c";"d"'</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="bifurcate" class="section double-padded">bifurcate</h3><div class="section double-padded"><p>Splits values into two groups. If an element in <code>filter</code> is truthy, the corresponding element in the collection belongs to the first group; otherwise, it belongs to the second group.</p><p>Use <code>Array.reduce()</code> and <code>Array.push()</code> to add elements to groups, based on <code>filter</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">bifurcate</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> filter<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> val<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">(</span>acc<span class="token punctuation">[</span>filter<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">?</span> <span class="token number">0</span> <span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">].</span><span class="token function">push</span><span class="token punctuation">(</span>val<span class="token punctuation">),</span> acc<span class="token punctuation">), [[], []]);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">bifurcate</span><span class="token punctuation">([</span><span class="token string">'beep'</span><span class="token punctuation">,</span> <span class="token string">'boop'</span><span class="token punctuation">,</span> <span class="token string">'foo'</span><span class="token punctuation">,</span> <span class="token string">'bar'</span><span class="token punctuation">], [</span><span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">]);</span> <span class="token comment">// [ ['beep', 'boop', 'bar'], ['foo'] ]</span>

View File

@ -7,7 +7,8 @@ Use `Array.join('\n')` to combine all rows into a CSV string, separating each ro
Omit the second argument, `delimiter`, to use a default delimiter of `,`.
```js
const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
const arrayToCSV = (arr, delimiter = ',') =>
arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
```
```js