Travis build: 1192
This commit is contained in:
12
README.md
12
README.md
@ -4054,13 +4054,13 @@ orderBy(users, ['name', 'age']); // [{name: 'barney', age: 36}, {name: 'fred', a
|
||||
|
||||
### select
|
||||
|
||||
Retrieve a property indicated by the selector from an object.
|
||||
Retrieve a set of properties indicated by the given selectors from an object.
|
||||
|
||||
If the property does not exists returns `undefined`.
|
||||
Use `Array.map()` for each selector, `String.split('.')` to split each selector and `Array.reduce()` to get the value indicated by it.
|
||||
|
||||
```js
|
||||
const select = (from, selector) =>
|
||||
selector.split('.').reduce((prev, cur) => prev && prev[cur], from);
|
||||
const select = (from, ...selectors) =>
|
||||
[...selectors].map(s => s.split('.').reduce((prev, cur) => prev && prev[cur], from));
|
||||
```
|
||||
|
||||
<details>
|
||||
@ -4068,7 +4068,8 @@ const select = (from, selector) =>
|
||||
|
||||
```js
|
||||
const obj = { selector: { to: { val: 'val to select' } } };
|
||||
select(obj, 'selector.to.val'); // 'val to select'
|
||||
select(obj, 'selector.to.val'); // ['val to select']
|
||||
select(obj, 'selector.to.val', 'selector.to'); // ['val to select', { val: 'val to select' }]
|
||||
```
|
||||
|
||||
</details>
|
||||
@ -5364,6 +5365,7 @@ const httpPost = (url, callback, data = null, err = console.error) => {
|
||||
|
||||
|
||||
|
||||
|
||||
const newPost = {
|
||||
"userId": 1,
|
||||
"id": 1337,
|
||||
|
||||
@ -879,10 +879,11 @@ console<span class="token punctuation">.</span><span class="token function">log<
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token keyword">const</span> users <span class="token operator">=</span> <span class="token punctuation">[{</span> name<span class="token punctuation">:</span> <span class="token string">'fred'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">48</span> <span class="token punctuation">}, {</span> name<span class="token punctuation">:</span> <span class="token string">'barney'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">36</span> <span class="token punctuation">}, {</span> name<span class="token punctuation">:</span> <span class="token string">'fred'</span><span class="token punctuation">,</span> age<span class="token punctuation">:</span> <span class="token number">40</span> <span class="token punctuation">}];</span>
|
||||
<span class="token function">orderBy</span><span class="token punctuation">(</span>users<span class="token punctuation">, [</span><span class="token string">'name'</span><span class="token punctuation">,</span> <span class="token string">'age'</span><span class="token punctuation">], [</span><span class="token string">'asc'</span><span class="token punctuation">,</span> <span class="token string">'desc'</span><span class="token punctuation">]);</span> <span class="token comment">// [{name: 'barney', age: 36}, {name: 'fred', age: 48}, {name: 'fred', age: 40}]</span>
|
||||
<span class="token function">orderBy</span><span class="token punctuation">(</span>users<span class="token punctuation">, [</span><span class="token string">'name'</span><span class="token punctuation">,</span> <span class="token string">'age'</span><span class="token punctuation">]);</span> <span class="token comment">// [{name: 'barney', age: 36}, {name: 'fred', age: 40}, {name: 'fred', age: 48}]</span>
|
||||
</pre><button class="primary clipboard-copy">📋 Copy to clipboard</button></div></div><div class="card fluid"><h3 id="select" class="section double-padded">select</h3><div class="section double-padded"><p>Retrieve a property indicated by the selector from an object.</p><p>If the property does not exists returns <code>undefined</code>.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">select</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token keyword">from</span><span class="token punctuation">,</span> selector<span class="token punctuation">)</span> <span class="token operator">=></span>
|
||||
selector<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">).</span><span class="token function">reduce</span><span class="token punctuation">((</span>prev<span class="token punctuation">,</span> cur<span class="token punctuation">)</span> <span class="token operator">=></span> prev <span class="token operator">&&</span> prev<span class="token punctuation">[</span>cur<span class="token punctuation">],</span> <span class="token keyword">from</span><span class="token punctuation">);</span>
|
||||
</pre><button class="primary clipboard-copy">📋 Copy to clipboard</button></div></div><div class="card fluid"><h3 id="select" class="section double-padded">select</h3><div class="section double-padded"><p>Retrieve a set of properties indicated by the given selectors from an object.</p><p>Use <code>Array.map()</code> for each selector, <code>String.split('.')</code> to split each selector and <code>Array.reduce()</code> to get the value indicated by it.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">select</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token keyword">from</span><span class="token punctuation">,</span> <span class="token operator">...</span>selectors<span class="token punctuation">)</span> <span class="token operator">=></span>
|
||||
<span class="token punctuation">[</span><span class="token operator">...</span>selectors<span class="token punctuation">].</span><span class="token function">map</span><span class="token punctuation">(</span>s <span class="token operator">=></span> s<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">).</span><span class="token function">reduce</span><span class="token punctuation">((</span>prev<span class="token punctuation">,</span> cur<span class="token punctuation">)</span> <span class="token operator">=></span> prev <span class="token operator">&&</span> prev<span class="token punctuation">[</span>cur<span class="token punctuation">],</span> <span class="token keyword">from</span><span class="token punctuation">));</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token keyword">const</span> obj <span class="token operator">=</span> <span class="token punctuation">{</span> selector<span class="token punctuation">: {</span> to<span class="token punctuation">: {</span> val<span class="token punctuation">:</span> <span class="token string">'val to select'</span> <span class="token punctuation">} } };</span>
|
||||
<span class="token function">select</span><span class="token punctuation">(</span>obj<span class="token punctuation">,</span> <span class="token string">'selector.to.val'</span><span class="token punctuation">);</span> <span class="token comment">// 'val to select'</span>
|
||||
<span class="token function">select</span><span class="token punctuation">(</span>obj<span class="token punctuation">,</span> <span class="token string">'selector.to.val'</span><span class="token punctuation">);</span> <span class="token comment">// ['val to select']</span>
|
||||
<span class="token function">select</span><span class="token punctuation">(</span>obj<span class="token punctuation">,</span> <span class="token string">'selector.to.val'</span><span class="token punctuation">,</span> <span class="token string">'selector.to'</span><span class="token punctuation">);</span> <span class="token comment">// ['val to select', { val: 'val to select' }]</span>
|
||||
</pre><button class="primary clipboard-copy">📋 Copy to clipboard</button></div></div><div class="card fluid"><h3 id="shallowclone" class="section double-padded">shallowClone</h3><div class="section double-padded"><p>Creates a shallow clone of an object.</p><p>Use <code>Object.assign()</code> and an empty object (<code>{}</code>) to create a shallow clone of the original.</p><pre class="language-js"><span class="token keyword">const</span> <span class="token function-variable function">shallowClone</span> <span class="token operator">=</span> obj <span class="token operator">=></span> Object<span class="token punctuation">.</span><span class="token function">assign</span><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 keyword">const</span> a <span class="token operator">=</span> <span class="token punctuation">{</span> x<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> y<span class="token punctuation">:</span> <span class="token number">1</span> <span class="token punctuation">};</span>
|
||||
<span class="token keyword">const</span> b <span class="token operator">=</span> <span class="token function">shallowClone</span><span class="token punctuation">(</span>a<span class="token punctuation">);</span> <span class="token comment">// a !== b</span>
|
||||
@ -1198,6 +1199,7 @@ Logs: {
|
||||
|
||||
|
||||
|
||||
|
||||
<span class="token keyword">const</span> newPost <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
<span class="token string">"userId"</span><span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
||||
<span class="token string">"id"</span><span class="token punctuation">:</span> <span class="token number">1337</span><span class="token punctuation">,</span>
|
||||
|
||||
@ -34,6 +34,7 @@ const httpPost = (url, callback, data = null, err = console.error) => {
|
||||
|
||||
|
||||
|
||||
|
||||
const newPost = {
|
||||
"userId": 1,
|
||||
"id": 1337,
|
||||
|
||||
Reference in New Issue
Block a user