Travis build: 1744

This commit is contained in:
30secondsofcode
2018-02-26 12:04:41 +00:00
parent a33988c5f0
commit 16a035b82b
3 changed files with 4 additions and 13 deletions

View File

@ -2312,16 +2312,12 @@ sortedIndexBy([{ x: 4 }, { x: 5 }], { x: 4 }, o => o.x); // 0
Returns the highest index at which value should be inserted into array in order to maintain its sort order. Returns the highest index at which value should be inserted into array in order to maintain its sort order.
Check if the array is sorted in descending order (loosely). Check if the array is sorted in descending order (loosely).
Use `Array.map()` to map each element to an array with its index and value.
Use `Array.reverse()` and `Array.findIndex()` to find the appropriate last index where the element should be inserted. Use `Array.reverse()` and `Array.findIndex()` to find the appropriate last index where the element should be inserted.
```js ```js
const sortedLastIndex = (arr, n) => { const sortedLastIndex = (arr, n) => {
const isDescending = arr[0] > arr[arr.length - 1]; const isDescending = arr[0] > arr[arr.length - 1];
const index = arr const index = arr.reverse().findIndex(el => (isDescending ? n <= el : n >= el));
.map((val, i) => [i, val])
.reverse()
.findIndex(el => (isDescending ? n <= el[1] : n >= el[1]));
return index === -1 ? 0 : arr.length - index - 1; return index === -1 ? 0 : arr.length - index - 1;
}; };
``` ```

View File

@ -464,12 +464,9 @@ Object<span class="token punctuation">.</span><span class="token function">assig
<span class="token keyword">return</span> index <span class="token operator">=== -</span><span class="token number">1</span> <span class="token operator">?</span> arr<span class="token punctuation">.</span>length <span class="token punctuation">:</span> index<span class="token punctuation">; <span class="token keyword">return</span> index <span class="token operator">=== -</span><span class="token number">1</span> <span class="token operator">?</span> arr<span class="token punctuation">.</span>length <span class="token punctuation">:</span> index<span class="token punctuation">;
};</span> };</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sortedIndexBy</span><span class="token punctuation">([{</span> x<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}, {</span> x<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}], {</span> x<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">},</span> o <span class="token operator">=></span> o<span class="token punctuation">.</span>x<span class="token punctuation">);</span> <span class="token comment">// 0</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sortedIndexBy</span><span class="token punctuation">([{</span> x<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}, {</span> x<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}], {</span> x<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">},</span> o <span class="token operator">=></span> o<span class="token punctuation">.</span>x<span class="token punctuation">);</span> <span class="token comment">// 0</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="sortedlastindex" class="section double-padded">sortedLastIndex</h3><div class="section double-padded"><p>Returns the highest index at which value should be inserted into array in order to maintain its sort order.</p><p>Check if the array is sorted in descending order (loosely). Use <code>Array.map()</code> to map each element to an array with its index and value. Use <code>Array.reverse()</code> and <code>Array.findIndex()</code> to find the appropriate last index where the element should be inserted.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sortedLastIndex</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> n<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="sortedlastindex" class="section double-padded">sortedLastIndex</h3><div class="section double-padded"><p>Returns the highest index at which value should be inserted into array in order to maintain its sort order.</p><p>Check if the array is sorted in descending order (loosely). Use <code>Array.reverse()</code> and <code>Array.findIndex()</code> to find the appropriate last index where the element should be inserted.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">sortedLastIndex</span> <span class="token operator">=</span> <span class="token punctuation">(</span>arr<span class="token punctuation">,</span> n<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> isDescending <span class="token operator">=</span> arr<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">></span> arr<span class="token punctuation">[</span>arr<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 keyword">const</span> isDescending <span class="token operator">=</span> arr<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">></span> arr<span class="token punctuation">[</span>arr<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 keyword">const</span> index <span class="token operator">=</span> arr <span class="token keyword">const</span> index <span class="token operator">=</span> arr<span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">().</span><span class="token function">findIndex</span><span class="token punctuation">(</span>el <span class="token operator">=></span> <span class="token punctuation">(</span>isDescending <span class="token operator">?</span> n <span class="token operator">&lt;=</span> el <span class="token punctuation">:</span> n <span class="token operator">>=</span> el<span class="token punctuation">));</span>
<span class="token punctuation">.</span><span class="token function">map</span><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>i<span class="token punctuation">,</span> val<span class="token punctuation">])
.</span><span class="token function">reverse</span><span class="token punctuation">()
.</span><span class="token function">findIndex</span><span class="token punctuation">(</span>el <span class="token operator">=></span> <span class="token punctuation">(</span>isDescending <span class="token operator">?</span> n <span class="token operator">&lt;=</span> el<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">] :</span> n <span class="token operator">>=</span> el<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]));</span>
<span class="token keyword">return</span> index <span class="token operator">=== -</span><span class="token number">1</span> <span class="token operator">?</span> <span class="token number">0</span> <span class="token punctuation">:</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> index <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">; <span class="token keyword">return</span> index <span class="token operator">=== -</span><span class="token number">1</span> <span class="token operator">?</span> <span class="token number">0</span> <span class="token punctuation">:</span> arr<span class="token punctuation">.</span>length <span class="token operator">-</span> index <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">;
};</span> };</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sortedLastIndex</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">30</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">40</span><span class="token punctuation">],</span> <span class="token number">30</span><span class="token punctuation">);</span> <span class="token comment">// 3</span> </pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">sortedLastIndex</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">30</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">40</span><span class="token punctuation">],</span> <span class="token number">30</span><span class="token punctuation">);</span> <span class="token comment">// 3</span>

View File

@ -8,9 +8,7 @@ Use `Array.reverse()` and `Array.findIndex()` to find the appropriate last index
```js ```js
const sortedLastIndex = (arr, n) => { const sortedLastIndex = (arr, n) => {
const isDescending = arr[0] > arr[arr.length - 1]; const isDescending = arr[0] > arr[arr.length - 1];
const index = arr const index = arr.reverse().findIndex(el => (isDescending ? n <= el : n >= el));
.reverse()
.findIndex(el => (isDescending ? n <= el : n >= el));
return index === -1 ? 0 : arr.length - index - 1; return index === -1 ? 0 : arr.length - index - 1;
}; };
``` ```