Summing some Data

const keys = [
  "one",
  "two",
  "three"
];
const dataToSum = [
  {
    device: "(none)",
    age: 10,
    "one": 5,
    "two": 2,
    "three": 6
  },
  {
    device: "device a",
    age: 3,
    "one": 8,
    "two": 6,
    "three": 3
  },
  {
    device: "device b",
    age: 6,
    "one": 4,
    "two": 3,
    "three": 1
  },
  {
    device: "device c",
    age: 7,
    "one": 3,
    "two": 4,
    "three": 3
  },
  {
    device: "device d",
    age: 2,
    "one": 7,
    "two": 4,
    "three": 6
  },
  {
    device: "device e",
    age: 4,
    "one": 3,
    "two": 2,
    "three": 2
  }
];

const sum = (data, key) => data.reduce((acc, a) => acc + a[key], 0);

const methodOne = (keys, data) => {
  const output = keys.reduce(
    (acc, value) => ({ ...acc, [value]: sum(data, value) }),
    {}
  );

  return output
}

const methodTwo = (keys, data) => {
  const output = keys.reduce(
    (acc, value) => ({ ...acc, [value]: 0 }),
    {}
  );

  for (const key of keys) {
    output[key] = sum(data, key)
  }

  return output
}


const methodThree = (keys, data) => {
  const output = {}
  keys.forEach(key => {
    output[key] = sum(data, key)
  })
  
  return output
}

const a = methodOne(keys, dataToSum)
console.log("method 1: ", a)
const b = methodTwo(keys, dataToSum)
console.log("method 2: ", b)
const c = methodThree(keys, dataToSum)
console.log("method 3: ", c)