Я пытаюсь перебрать массив объектов и добавить похожие свойства по дате и вернуть новый массив с суммированными данными. Вот пример:Как суммировать значения свойств объекта по дате в JavaScript
Данные ниже для каждого дня недели, я хотел бы получить сумму телевидения, видео и DVD за месяц. Каждый блок кода будет иметь отметку даты.
var i = [
{
"0":{
"TV":"200",
"Video":"50",
"DVD":"150",
"Date":"Fri Jul 18 2014 19:00:00 GMT-0500"
}
},
{
"1":{
"TV":"150",
"Video":"60",
"DVD":"150",
"Date":"Fri Jul 25 2014 19:00:00 GMT-0500"
}
},
{
"2":{
"TV":"350",
"Video":"20",
"DVD":"150",
"Date":"Wed Aug 01 2014 19:00:00 GMT-0500"
}
},
{
"3":{
"TV":"200",
"Video":"50",
"DVD":"100",
"Date":"Thurs Aug 08 2014 19:00:00 GMT-0500"
}
} continues.....
]
Ниже приведен метод, который я работаю над ...
var newObj = [];
for(var key in i){
var thisMonth = i[key].Date.getMonth();
if(thisMonth === 6){
//Add each properties together and push to the new array
console.log(thisMonth); //this results in two 6 (july).
}else if(thisMonth === 7){
//Add each properties together and push to the new array
console.log(thisMonth); //this results in two 7 (August).
}
}
return newObj;
То, что я хотел бы этот метод возвращает новый массив со всеми суммированными данными.
[
{
"0":{
"TV":"350",
"Video":"110",
"DVD":"300",
"Date":"Jul 2014"
},{
"0":{
"TV":"550",
"Video":"70",
"DVD":"250",
"Date":"Aug 2014"
]
Может быть, лучше подходить к этому, я ценю любые советы. Заранее спасибо!
С какой проблемой вы сталкиваетесь? – Nit
Вот что вам поможет: http://jsbin.com/tucat/1/edit – elzi
Являются ли входные и выходные данные действительно массивами * двойных обернутых объектов, или это просто причуда ручной сериализации? Было бы более обычным видеть простые массивы объектов. –