re: Much needed filterMap in JavaScript VIEW POST

FULL DISCUSSION
 

If I were to implement something like filterMap, I would pass in the predicate and the transformation as separate functions. However, you can use reduce for what you're doing, no need to implement a new method on Array.

const emails = customers.reduce(
  (prev, c) => c.active
    ? [ ...prev, c ]
    : prev,
  []
)
 
 

Yeah, sorry, been using array destructuring too much lately. If it's speed we're going after we can't create a new array at each iteration step.

const emails = customers.reduce(
  (prev, c) => {
    if (c.active) prev.push(c)
    return prev
  },
  []
)

This way reduce can be used as map as well, nice trick but I still prefer filterMap for its smaller syntax.

code of conduct - report abuse