Travis build: 1794

This commit is contained in:
30secondsofcode
2018-03-09 18:24:43 +00:00
parent 66d4d54895
commit ea7f95be2e
3 changed files with 16 additions and 12 deletions

View File

@ -1603,10 +1603,12 @@ Return `0` if the `direction` changes or the `direction` if the last element is
```js
const isSorted = arr => {
const direction = arr[0] > arr[1] ? -1 : 1;
for (let [i, val] of arr.entries())
if (i === arr.length - 1) return direction;
let direction = -(arr[0] - arr[1]);
for (let [i, val] of arr.entries()) {
direction = !direction ? -(arr[i - 1] - arr[i]) : direction;
if (i === arr.length - 1) return !direction ? 0 : direction;
else if ((val - arr[i + 1]) * direction > 0) return 0;
}
};
```

View File

@ -278,10 +278,12 @@ 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="intersectionwith" class="section double-padded">intersectionWith</h3><div class="section double-padded"><p>Returns a list of elements that exist in both arrays, using a provided comparator function.</p><p>Use <code>Array.filter()</code> and <code>Array.findIndex()</code> in combination with the provided comparator to determine intersecting values.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">intersectionWith</span> <span class="token operator">=</span> <span class="token punctuation">(</span>a<span class="token punctuation">,</span> b<span class="token punctuation">,</span> comp<span class="token punctuation">)</span> <span class="token operator">=></span> a<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span>x <span class="token operator">=></span> b<span class="token punctuation">.</span><span class="token function">findIndex</span><span class="token punctuation">(</span>y <span class="token operator">=></span> <span class="token function">comp</span><span class="token punctuation">(</span>x<span class="token punctuation">,</span> y<span class="token punctuation">))</span> <span class="token operator">!== -</span><span class="token number">1</span><span class="token punctuation">);</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">intersectionWith</span><span class="token punctuation">([</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">1.2</span><span class="token punctuation">,</span> <span class="token number">1.5</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">], [</span><span class="token number">1.9</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">3.9</span><span class="token punctuation">], (</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token operator">=></span> Math<span class="token punctuation">.</span><span class="token function">round</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span> <span class="token operator">===</span> Math<span class="token punctuation">.</span><span class="token function">round</span><span class="token punctuation">(</span>b<span class="token punctuation">));</span> <span class="token comment">// [1.5, 3, 0]</span>
</pre><button class="primary clipboard-copy">&#128203;&nbsp;Copy to clipboard</button></div></div><div class="card fluid"><h3 id="issorted" class="section double-padded">isSorted</h3><div class="section double-padded"><p>Returns <code>1</code> if the array is sorted in ascending order, <code>-1</code> if it is sorted in descending order or <code>0</code> if it is not sorted.</p><p>Calculate the ordering <code>direction</code> for the first two elements. Use <code>Object.entries()</code> to loop over array objects and compare them in pairs. Return <code>0</code> if the <code>direction</code> changes or the <code>direction</code> if the last element is reached.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isSorted</span> <span class="token operator">=</span> arr <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> direction <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><span class="token number">1</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">1</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> <span class="token punctuation">[</span>i<span class="token punctuation">,</span> val<span class="token punctuation">]</span> <span class="token keyword">of</span> arr<span class="token punctuation">.</span><span class="token function">entries</span><span class="token punctuation">())</span>
<span class="token keyword">if</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 punctuation">)</span> <span class="token keyword">return</span> direction<span class="token punctuation">;</span>
<span class="token keyword">let</span> direction <span class="token operator">= -</span><span class="token punctuation">(</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><span class="token number">1</span><span class="token punctuation">]);</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> <span class="token punctuation">[</span>i<span class="token punctuation">,</span> val<span class="token punctuation">]</span> <span class="token keyword">of</span> arr<span class="token punctuation">.</span><span class="token function">entries</span><span class="token punctuation">()) {</span>
direction <span class="token operator">= !</span>direction <span class="token operator">? -</span><span class="token punctuation">(</span>arr<span class="token punctuation">[</span>i <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">-</span> arr<span class="token punctuation">[</span>i<span class="token punctuation">]) :</span> direction<span class="token punctuation">;</span>
<span class="token keyword">if</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 punctuation">)</span> <span class="token keyword">return</span> <span class="token operator">!</span>direction <span class="token operator">?</span> <span class="token number">0</span> <span class="token punctuation">:</span> direction<span class="token punctuation">;</span>
<span class="token keyword">else if</span> <span class="token punctuation">((</span>val <span class="token operator">-</span> arr<span class="token punctuation">[</span>i <span class="token operator">+</span> <span class="token number">1</span><span class="token punctuation">])</span> <span class="token operator">*</span> direction <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 number">0</span><span class="token punctuation">;
}
};</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isSorted</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">2</span><span class="token punctuation">]);</span> <span class="token comment">// 1</span>
<span class="token function">isSorted</span><span class="token punctuation">([</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">]);</span> <span class="token comment">// -1</span>

View File

@ -8,12 +8,12 @@ Return `0` if the `direction` changes or the `direction` if the last element is
```js
const isSorted = arr => {
let direction = -(arr[0] - arr[1]);
for (let [i, val] of arr.entries()) {
direction = !direction ? -(arr[i - 1] - arr[i]) : direction;
if (i === arr.length - 1) return !direction ? 0 : direction;
else if ((val - arr[i + 1]) * direction > 0) return 0;
}
let direction = -(arr[0] - arr[1]);
for (let [i, val] of arr.entries()) {
direction = !direction ? -(arr[i - 1] - arr[i]) : direction;
if (i === arr.length - 1) return !direction ? 0 : direction;
else if ((val - arr[i + 1]) * direction > 0) return 0;
}
};
```