Travis build: 226

This commit is contained in:
30secondsofcode
2018-08-14 17:40:14 +00:00
parent cff7a5efce
commit 71f5444dfd
2 changed files with 3 additions and 15 deletions

View File

@ -8286,16 +8286,10 @@ is(Boolean, new Boolean(true)); // true
Checks if the provided argument is array-like (i.e. is iterable).
Use the spread operator (`...`) to check if the provided argument is iterable inside a `try... catch` block and the comma operator (`,`) to return the appropriate value.
Check if the provided argument is not `null` and that its `Symbol.iterator` property is a function.
```js
const isArrayLike = val => {
try {
return [...val], true;
} catch (e) {
return false;
}
};
const isArrayLike = obj => obj != null && typeof obj[Symbol.iterator] === 'function';
```
<details>

View File

@ -96,13 +96,7 @@
<span class="token function">is</span><span class="token punctuation">(</span>Number<span class="token punctuation">,</span> <span class="token keyword">new</span> <span class="token class-name">Number</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">));</span> <span class="token comment">// true</span>
<span class="token function">is</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">is</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">,</span> <span class="token keyword">new</span> <span class="token class-name">Boolean</span><span class="token punctuation">(</span><span class="token boolean">true</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="isarraylike" class="section double-padded">isArrayLike</h3><div class="section double-padded"><p>Checks if the provided argument is array-like (i.e. is iterable).</p><p>Use the spread operator (<code>...</code>) to check if the provided argument is iterable inside a <code>try... catch</code> block and the comma operator (<code>,</code>) to return the appropriate value.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isArrayLike</span> <span class="token operator">=</span> val <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token keyword">try</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">[</span><span class="token operator">...</span>val<span class="token punctuation">],</span> <span class="token boolean">true</span><span class="token punctuation">;
}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name">e</span><span class="token punctuation">) {</span>
<span class="token keyword">return</span> <span class="token boolean">false</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="isarraylike" class="section double-padded">isArrayLike</h3><div class="section double-padded"><p>Checks if the provided argument is array-like (i.e. is iterable).</p><p>Check if the provided argument is not <code>null</code> and that its <code>Symbol.iterator</code> property is a function.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">isArrayLike</span> <span class="token operator">=</span> obj <span class="token operator">=></span> obj <span class="token operator">!=</span> <span class="token keyword">null</span> <span class="token operator">&amp;&amp;</span> <span class="token keyword">typeof</span> obj<span class="token punctuation">[</span>Symbol<span class="token punctuation">.</span>iterator<span class="token punctuation">]</span> <span class="token operator">===</span> <span class="token string">'function'</span><span class="token punctuation">;</span>
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">isArrayLike</span><span class="token punctuation">(</span>document<span class="token punctuation">.</span><span class="token function">querySelectorAll</span><span class="token punctuation">(</span><span class="token string">'.className'</span><span class="token punctuation">));</span> <span class="token comment">// true</span>
<span class="token function">isArrayLike</span><span class="token punctuation">(</span><span class="token string">'abc'</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
<span class="token function">isArrayLike</span><span class="token punctuation">(</span><span class="token keyword">null</span><span class="token punctuation">);</span> <span class="token comment">// false</span>