文章博客

技术团队文档示例


第十二天:过滤数组对象元素

<h4>reducedFilter - 过滤对象数组</h4> <p>根据条件过滤一个对象数组,同时过滤掉未指定的键(key)。</p> <p>使用 Array.filter() 根据断言 fn 过滤数组,以便返回条件为真值(truthy)的对象。 在过滤出来的数组上,使用 Array.map() 和 Array.reduce() 返回新的对象来过滤掉 keys 参数中未提供的键。</p> <pre><code class="language-javascript">const reducedFilter = (data, keys, fn) =&gt; data.filter(fn).map(el =&gt; keys.reduce((acc, key) =&gt; { acc[key] = el[key]; //acc累加器您的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值 return acc; }, {}) ); //实例 const data = [ { id: 1, name: 'john', age: 24 }, { id: 2, name: 'mike', age: 50 } ]; reducedFilter(data, ['id', 'name'], item =&gt; item.age &gt; 24); // [{ id: 2, name: 'mike'}] </code></pre>

页面列表

ITEM_HTML