JavaScriptで、以下のような形でデータが入った連想配列にて、
同じキーの要素(今回の例では日付)のamountを合算し、
新しい配列を生成しなおすロジックを考えています。
例:元の5件の連想配列
var dataList = [data, data, data, data, data]; 0 : data {id: 100, date: "2018-06-10", amount: 124} 1 : data {id: 105, date: "2018-06-15", amount: 354} 2 : data {id: 120, date: "2018-07-01", amount: 217} 3 : data {id: 129, date: "2018-07-01", amount: 320} 4 : data {id: 131, date: "2018-07-01", amount: 140} 5 : data {id: 183, date: "2018-07-12", amount: 156}
※idは再度採番
※日付が同日のデータをamountを合算して以下の配列を生成
var newDataList = [data, data, data, data]; 0 : data {id: 1, date: "2018-06-10", amount: 124} 1 : data {id: 2, date: "2018-06-15", amount: 354} 2 : data {id: 3, date: "2018-07-01", amount: 677} 4 : data {id: 4, date: "2018-07-12", amount: 156}
filter, mapといったメソッドを使い色々試しているのですが、思い通りにいかず苦戦しています。
ご教授いただけないでしょうか。よろしくお願い致します。