DEV Community

Discussion on: 5 Programming Patterns I Like

Collapse
 
marclundgren profile image
Marc Lundgren • Edited

When using reduce, I prefer to always return a new pure array rather than pushing to an existing array. Keeping reduce stateless has resulted in less debugging for me.

const exampleValues = [2, 15, 8, 23, 1, 32];
const [truthyValues, falseyValues] = exampleValues.reduce(([truthy, falsey], value) => {
  if (value > 10) {
    return [truthy.concat(value), falsey];
  } else {
    return [truthy, falsey.concat(value)];
  }
}, [[], []]);