碎片时间学编程「102]:基于函数的分叉数组


碎片时间学编程「102]:基于函数的分叉数组

根据给定过滤函数的结果将值分成两组。

  • 根据每个元素返回的值,使用Array.prototype.reduce()Array.prototype.push()将元素添加到组中。
  • 如果fn返回任何元素的真值,则将其添加到第一组,否则将其添加到第二组。

JavaScript

const bifurcateBy = (arr, fn) =>
  arr.reduce((acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc), [
    [],
    [],
  ]);

示例

bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b');
// [ ['beep', 'boop', 'bar'], ['foo'] ]

更多内容请访问我的网站:https://www.icoderoad.com

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章