Somme objet javascript propertyA valeurs avec le même objet propertyB dans le tableau d'objets

Comment pourrait-on prendre un tableau javascript d'objets tels que:

my 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}]

et de fusion des doubles de clés en additionnant les valeurs.
Afin d'obtenir quelque chose comme ceci:

my reducedObjArr = [
{key:Mon Sep 23 2013 00:00:00 GMT-0400, val:96},
{key:Mon Sep 24 2013 00:00:00 GMT-0400, val:78},
{key:Mon Sep 25 2013 00:00:00 GMT-0400, val:23}]

J'ai essayé de retravailler et d'ajouter un nouveau tableau, mais cela n'a pas fonctionné:

var reducedObjArr = [];
var item = null, key = null;
for(var i=0; i<objArr.length; i++) {
   item=objArr[i];
   key = Object.keys(item)[0];
   item=item[key];

   if(!result[key]){
       result[key] = item;
   }else{
       result[key] += item;}
   }a
  • Pourquoi faites-vous key = Object.keys(item)[0]; item=item[key]; ? Vous connaissez déjà le nom est key, il suffit donc de ne item.key ou objArr[i].key. Aussi, à l'aide de la [0] index ne sera pas nécessairement toujours de vous donner la même propriété.
InformationsquelleAutor AlecPerkey | 2013-10-07