Javascript对象的总和

Javascript对象的总和,javascript,Javascript,字典中有一个javascript对象,如下所示: function getDate(date, arr) { for(var i = arr.length; i--;) { if(arr[i].date === date) { var obj = { sum: 0; }; for(var prop in arr[i]) { if(prop !== "date") {

字典中有一个javascript对象,如下所示:

function getDate(date, arr) {
    for(var i = arr.length; i--;) {
        if(arr[i].date === date) {
            var obj = { sum: 0; };
            for(var prop in arr[i]) {
                if(prop !== "date") {
                    obj.sum += arr[i][prop];
                }
            }
            obj.date = obj.date;
            return obj;
        }
    }
}
{日期:“2010/01”,
圣方济各会201001:1,
圣方济各会201002:2,
圣方济各会201003:3,
},
{日期:“2010/02”,
圣方济各会201001:0,
圣方济各会201002:1,
圣方济各会201003:2,
}

我想找到

{日期:“2010/01”,总和:6,),{日期:“2010/02”,总和:3,)

这有点棘手,因为属性名是任意的。有什么线索可以告诉我们怎么做吗


谢谢。

这不是一个对象,而是两个对象。我假设它们在一个数组中。然后可以循环数组,并循环每个对象中的属性:

var result = [];
for (var i = 0; i < theArray.length; i++) {
  var sum = 0;
  for (var key in theArray[i]) {
    if (key != 'date') {
      sum += theArray[i][key];
    }
  }
  result.push({ date: theArray[i].date, sum: sum });
}
var结果=[];
对于(变量i=0;i
要查找特定
日期
值的总和,请创建一个具有如下主体的函数:

function getDate(date, arr) {
    for(var i = arr.length; i--;) {
        if(arr[i].date === date) {
            var obj = { sum: 0; };
            for(var prop in arr[i]) {
                if(prop !== "date") {
                    obj.sum += arr[i][prop];
                }
            }
            obj.date = obj.date;
            return obj;
        }
    }
}
这应该起作用:

var data = [{ date: "2010/01", San_Francisco201001: 1, San_Francisco201002: 2, San_Francisco201003: 3, }, { date: "2010/02", San_Francisco201001: 0, San_Francisco201002: 1, San_Francisco201003: 2, }];

var result = [];

for(var i = 0; i < data.length; i++) {
   var dateData = data[i];
   var sum = 0;

   for(var element in dateData) if(dateData.hasOwnProperty(element)) {
      var elementData = dateData[element];

      if(element != "date") {
         sum += elementData;
      }
   }

   result.push({date: dateData["date"], sum: sum});
}
var数据=[{日期:“2010/01”,圣方济各201001:1,圣方济各201002:2,圣方济各201003:3,},{日期:“2010/02”,圣方济各201001:0,圣方济各201002:1,圣方济各201003:2,}];
var结果=[];
对于(变量i=0;i
那么除了日期之外的所有内容都应该添加吗?我删除了json标记,因为这与json无关。