Sum javascript object propertyA values with same object propertyB in array of objects

前端 未结 9 2679
醉梦人生
醉梦人生 2020-11-22 04:48

How would one take a javascript array of objects such as:

my objArr = [
{key:Mon Sep 23 2013 00:00:00 GMT-0400, val:42},
{key:Mon Sep 24 2013 00:00:00 GMT-04         


        
9条回答
  •  面向向阳花
    2020-11-22 05:38

    Simpler reduce than posted elsewhere

    const objArr = [
    {key:"Mon Sep 23 2013 00:00:00 GMT-0400", val:42},
    {key:"Mon Sep 24 2013 00:00:00 GMT-0400", val:78},
    {key:"Mon Sep 25 2013 00:00:00 GMT-0400", val:23},
    {key:"Mon Sep 23 2013 00:00:00 GMT-0400", val:54}];
    
    const output = objArr.reduce((accumulator, cur) => {
      let date = cur.key;
      let found = accumulator.find(elem => elem.key === date)
      if (found) found.val += cur.val;
      else accumulator.push(cur);
      return accumulator;
    }, []);
    
    console.log(output)

提交回复
热议问题