2019-04-08
描述
把集合里面的元素分成两组。如果 filter
中的一个元素为真值时,在集合中与之相对应的元素就划分到第一组,否则就属于第二组。
提示
- 使用
Array.prototype.reduce()
和Array.prototype.push()
把集合中的元素添加到对应的分组中。 filter
需和集合中的元素保持一一对应。
代码
const bifurcate = (arr, filter) =>
arr.reduce((acc, val, i) => (acc[filter[i] ? 0 : 1].push(val), acc), [[], []]);
示例
按照指定规则为集合中的元素分类:
bifurcate(['beep', 'boop', 'foo', 'bar'], [true, true, false, true]); // [ ['beep', 'boop', 'bar'], ['foo'] ]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于