Travis build: 1780
This commit is contained in:
@ -575,15 +575,12 @@ Object<span class="token punctuation">.</span><span class="token function">assig
|
||||
props<span class="token punctuation">.</span><span class="token function">reduce</span><span class="token punctuation">((</span>obj<span class="token punctuation">,</span> prop<span class="token punctuation">,</span> index<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">((</span>obj<span class="token punctuation">[</span>prop<span class="token punctuation">]</span> <span class="token operator">=</span> values<span class="token punctuation">[</span>index<span class="token punctuation">]),</span> obj<span class="token punctuation">), {});</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">zipObject</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 number">1</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, c: undefined}</span>
|
||||
<span class="token function">zipObject</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 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 comment">// {a: 1, b: 2}</span>
|
||||
</pre><button class="primary clipboard-copy">📋 Copy to clipboard</button></div></div><div class="card fluid"><h3 id="zipwith" class="section double-padded">zipWith<mark class="tag">advanced</mark></h3><div class="section double-padded"><p>Creates an array of elements, grouped based on the position in the original arrays and using function as the last value to specify how grouped values should be combined.</p><p>Check if the last argument provided in a function. Use <code>Math.max()</code> to get the longest array in the arguments. Creates an array with that length as return value and use <code>Array.from()</code> with a map-function to create an array of grouped elements. If lengths of the argument-arrays vary, <code>undefined</code> is used where no value could be found. The function is invoked with the elements of each group <code>(...group)</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">zipWith</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token operator">...</span>arrays<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">const</span> length <span class="token operator">=</span> arrays<span class="token punctuation">.</span>length<span class="token punctuation">;</span>
|
||||
<span class="token keyword">let</span> fn <span class="token operator">=</span> length <span class="token operator">></span> <span class="token number">1</span> <span class="token operator">?</span> arrays<span class="token punctuation">[</span>length <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">] :</span> undefined<span class="token punctuation">;</span>
|
||||
fn <span class="token operator">=</span> <span class="token keyword">typeof</span> fn <span class="token operator">==</span> <span class="token string">'function'</span> <span class="token operator">?</span> <span class="token punctuation">(</span>arrays<span class="token punctuation">.</span><span class="token function">pop</span><span class="token punctuation">(),</span> fn<span class="token punctuation">) :</span> undefined<span class="token punctuation">;</span>
|
||||
<span class="token keyword">const</span> maxLength <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">max</span><span class="token punctuation">(</span><span class="token operator">...</span>arrays<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>x <span class="token operator">=></span> x<span class="token punctuation">.</span>length<span class="token punctuation">));</span>
|
||||
<span class="token keyword">const</span> result <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> maxLength <span class="token punctuation">}).</span><span class="token function">map</span><span class="token punctuation">((</span>_<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">return</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">({</span> length<span class="token punctuation">:</span> arrays<span class="token punctuation">.</span>length <span class="token punctuation">}, (</span>_<span class="token punctuation">,</span> k<span class="token punctuation">)</span> <span class="token operator">=></span> arrays<span class="token punctuation">[</span>k<span class="token punctuation">][</span>i<span class="token punctuation">]);
|
||||
});</span>
|
||||
<span class="token keyword">return</span> fn <span class="token operator">?</span> result<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>arr <span class="token operator">=></span> <span class="token function">fn</span><span class="token punctuation">(</span><span class="token operator">...</span>arr<span class="token punctuation">)) :</span> result<span class="token punctuation">;
|
||||
</pre><button class="primary clipboard-copy">📋 Copy to clipboard</button></div></div><div class="card fluid"><h3 id="zipwith" class="section double-padded">zipWith<mark class="tag">advanced</mark></h3><div class="section double-padded"><p>Creates an array of elements, grouped based on the position in the original arrays and using function as the last value to specify how grouped values should be combined.</p><p>Check if the last argument provided is a function. Use <code>Math.max()</code> to get the longest array in the arguments. Creates an array with that length as return value and use <code>Array.from()</code> with a map-function to create an array of grouped elements. If lengths of the argument-arrays vary, <code>undefined</code> is used where no value could be found. The function is invoked with the elements of each group <code>(...group)</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">zipWith</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token operator">...</span>array<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">const</span> fn <span class="token operator">=</span> <span class="token keyword">typeof</span> array<span class="token punctuation">[</span>array<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">===</span> <span class="token string">'function'</span> <span class="token operator">?</span> array<span class="token punctuation">.</span><span class="token function">pop</span><span class="token punctuation">() :</span> undefined<span class="token punctuation">;</span>
|
||||
<span class="token keyword">return</span> Array<span class="token punctuation">.</span><span class="token keyword">from</span><span class="token punctuation">(
|
||||
{</span> length<span class="token punctuation">:</span> Math<span class="token punctuation">.</span><span class="token function">max</span><span class="token punctuation">(</span><span class="token operator">...</span>array<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>a <span class="token operator">=></span> a<span class="token punctuation">.</span>length<span class="token punctuation">)) },
|
||||
(</span>_<span class="token punctuation">,</span> i<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">(</span>fn <span class="token operator">?</span> <span class="token function">fn</span><span class="token punctuation">(</span><span class="token operator">...</span>array<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>a <span class="token operator">=></span> a<span class="token punctuation">[</span>i<span class="token punctuation">])) :</span> array<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span>a <span class="token operator">=></span> a<span class="token punctuation">[</span>i<span class="token punctuation">]))
|
||||
);
|
||||
};</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">zipWith</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">10</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">], [</span><span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">200</span><span class="token punctuation">], (</span>a<span class="token punctuation">,</span> b<span class="token punctuation">,</span> c<span class="token punctuation">)</span> <span class="token operator">=></span> a <span class="token operator">+</span> b <span class="token operator">+</span> c<span class="token punctuation">);</span> <span class="token comment">// [111,222]</span>
|
||||
<span class="token function">zipWith</span><span class="token punctuation">(
|
||||
|
||||
Reference in New Issue
Block a user