回答編集履歴

1

追記

2016/09/06 05:41

投稿

yambejp
yambejp

スコア114839

test CHANGED
@@ -3,3 +3,53 @@
3
3
  たとえばdata1とdata2を集約するとして、data1にdata2のhoursを加算して
4
4
 
5
5
  data2を削除する?(表示しない)?
6
+
7
+
8
+
9
+ #追記
10
+
11
+ ベタな処理ですが各データのdateもidも文字列なので連結してキーにしてしまえばよいかも
12
+
13
+ ```javascript
14
+
15
+ var data ={
16
+
17
+ "data1":{"date":"2016-09-01","id": "ID1","hours":"1"},
18
+
19
+ "data2":{"date":"2016-09-01","id": "ID1","hours":"2"},
20
+
21
+ "data3":{"date":"2016-09-01","id": "ID2","hours":"3"},
22
+
23
+ "data4":{"date":"2016-09-01","id": "ID2","hours":"4"},
24
+
25
+ "data5":{"date":"2016-09-02","id": "ID1","hours":"5"},
26
+
27
+ "data6":{"date":"2016-09-02","id": "ID2","hours":"6"},
28
+
29
+ };
30
+
31
+ var tmp={};
32
+
33
+ for(key in data){
34
+
35
+ var n=data[key]["date"]+":"+data[key]["id"];
36
+
37
+ if(typeof tmp[n]=="undefined"){
38
+
39
+ tmp[n]=parseInt(data[key]["hours"]);
40
+
41
+ }else{
42
+
43
+ tmp[n]+=parseInt(data[key]["hours"]);
44
+
45
+ }
46
+
47
+ }
48
+
49
+ for(key in tmp){
50
+
51
+ console.log(key+"="+tmp[key]);
52
+
53
+ }
54
+
55
+ ```