|
|
|
@ -574,7 +574,7 @@ managers<span class="token punctuation">;</span> <span class="token comment">//
|
|
|
|
],
|
|
|
|
],
|
|
|
|
(</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span> a<span class="token punctuation">.</span>id <span class="token operator">==</span> b<span class="token punctuation">.</span>id
|
|
|
|
(</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span> a<span class="token punctuation">.</span>id <span class="token operator">==</span> b<span class="token punctuation">.</span>id
|
|
|
|
<span class="token punctuation">);</span> <span class="token comment">// [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' } ]</span>
|
|
|
|
<span class="token punctuation">);</span> <span class="token comment">// [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' } ]</span>
|
|
|
|
</pre></div><div class="card code-card"><div class="corner intermediate" aria-label="intermediate" title="intermediate"></div><div class="section card-content"><h4 id="uniqueelementsbyright">uniqueElementsByRight</h4><p>Returns all unique values of an array, based on a provided comparator function.</p><p>Use <code>Array.prototype.reduce()</code> and <code>Array.prototype.some()</code> for an array containing only the last unique occurrence of each value, based on the comparator function, <code>fn</code>. The comparator function takes two arguments: the values of the two elements being compared.</p></div><div class="copy-button-container"><button class="copy-button" aria-label="Copy to clipboard"></button></div><pre class="section card-code language-js"><span class="token keyword">const</span> <span class="token function-variable function">uniqueElementsByRight</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> fn<span class="token punctuation">)</span> <span class="token operator">=></span>
|
|
|
|
</pre></div><div class="card code-card"><div class="corner intermediate" aria-label="intermediate" title="intermediate"></div><div class="section card-content"><h4 id="uniqueelementsbyright">uniqueElementsByRight</h4><p>Returns all unique values of an array, based on a provided comparator function, starting from the right.</p><p>Use <code>Array.prototype.reduceRight()</code> and <code>Array.prototype.some()</code> for an array containing only the last unique occurrence of each value, based on the comparator function, <code>fn</code>. The comparator function takes two arguments: the values of the two elements being compared.</p></div><div class="copy-button-container"><button class="copy-button" aria-label="Copy to clipboard"></button></div><pre class="section card-code language-js"><span class="token keyword">const</span> <span class="token function-variable function">uniqueElementsByRight</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> fn<span class="token punctuation">)</span> <span class="token operator">=></span>
|
|
|
|
arr<span class="token punctuation">.</span><span class="token function">reduceRight</span><span class="token punctuation">((</span>acc<span class="token punctuation">,</span> v<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
|
|
|
arr<span class="token punctuation">.</span><span class="token function">reduceRight</span><span class="token punctuation">((</span>acc<span class="token punctuation">,</span> v<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
|
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>acc<span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span>x <span class="token operator">=></span> <span class="token function">fn</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span> x<span class="token punctuation">)))</span> acc<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>v<span class="token punctuation">);</span>
|
|
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>acc<span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span>x <span class="token operator">=></span> <span class="token function">fn</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span> x<span class="token punctuation">)))</span> acc<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>v<span class="token punctuation">);</span>
|
|
|
|
<span class="token keyword">return</span> acc<span class="token punctuation">;
|
|
|
|
<span class="token keyword">return</span> acc<span class="token punctuation">;
|
|
|
|
|