cachaito
5/15/2019 - 11:01 PM

Reduce: immutable aggregator with ES6

// common case
Object.keys(data).reduce((aggregator, address) => {
  aggregator.push({
    Destination: {
      ToAddresses: [address],
      BccAddresses: [address2],
    },
    ReplacementTemplateData: JSON.stringify(data[address]),
  });

  return aggregator;
}, []);

// better
Object.keys(data).reduce((aggregator, address) => ([
  ...aggregator, 
  {
    Destination: {
      ToAddresses: [address],
      BccAddresses: [address2],
    },
    ReplacementTemplateData: JSON.stringify(data[address]),
  }
]), []);