回答編集履歴

4

ちょうせい

2019/07/16 03:34

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  7/6にあるという判断で抜くのですよね?
74
74
 
75
-
75
+ また、前日とかぶることで値が消え要素数が0になった7/6は、まるっと削除ですよね?
76
76
 
77
77
  ```javascript
78
78
 

3

調整

2019/07/16 03:34

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -71,3 +71,71 @@
71
71
  7/6のデータは7/5にあるから消すとして、7/7のデータは7/6からすでに取り除かれていいても
72
72
 
73
73
  7/6にあるという判断で抜くのですよね?
74
+
75
+
76
+
77
+ ```javascript
78
+
79
+ var a=[
80
+
81
+ ["2019-07-01","安田たかし"],
82
+
83
+ ["2019-07-02","橋本すぐる"],
84
+
85
+ ["2019-07-02","佐々木こうじ"],
86
+
87
+ ["2019-07-03","河本あいり"],
88
+
89
+ ["2019-07-03","猪野しょうへい"],
90
+
91
+ ["2019-07-03","寺島ゆうこ"],
92
+
93
+ ["2019-07-03","寺島ゆうこ"],
94
+
95
+ ["2019-07-03","寺島ゆうこ"],
96
+
97
+ ["2019-07-04","石田しょうご"],
98
+
99
+ ["2019-07-04","渡辺げんき"],
100
+
101
+ ["2019-07-05","安藤けい"],
102
+
103
+ ["2019-07-06","安藤けい"],
104
+
105
+ ["2019-07-07","安藤けい"],
106
+
107
+ ["2019-07-07","渡辺げんき"],
108
+
109
+ ];
110
+
111
+ var b={};
112
+
113
+ a.forEach(x=>{
114
+
115
+ if(!b[x[0]]) b[x[0]]=[];
116
+
117
+ if(b[x[0]].indexOf(x[1])<0) b[x[0]].push(x[1]);
118
+
119
+ });
120
+
121
+ var c={};
122
+
123
+ for(var i in b){
124
+
125
+ var d=new Date(i);
126
+
127
+ d.setDate(d.getDate()-1);
128
+
129
+ var pre=(d.toLocaleDateString('en-US',{year:"numeric"})
130
+
131
+ +"/"+d.toLocaleDateString('en-US',{month:"2-digit",day:"2-digit"})).replace(///g,"-");
132
+
133
+ c[i]=!b[pre]?b[i]:b[i].filter(x=>x.indexOf(b[pre])<0);
134
+
135
+ if(c[i].length==0) delete(c[i]);
136
+
137
+ };
138
+
139
+ console.log(c);
140
+
141
+ ```

2

調整

2019/07/16 03:33

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -55,3 +55,19 @@
55
55
  console.log(b);
56
56
 
57
57
  ```
58
+
59
+
60
+
61
+ # 課題
62
+
63
+ 2019-07-05 安藤けい
64
+
65
+ 2019-07-06 安藤けい
66
+
67
+ 2019-07-07 安藤けい
68
+
69
+
70
+
71
+ 7/6のデータは7/5にあるから消すとして、7/7のデータは7/6からすでに取り除かれていいても
72
+
73
+ 7/6にあるという判断で抜くのですよね?

1

ちょうせい

2019/07/16 03:23

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -1,3 +1,57 @@
1
1
  1つだと文字列で2つ以上は配列という管理の仕方は最悪なのでやめましょう
2
2
 
3
3
  1つでも要素一つの配列で管理してください
4
+
5
+
6
+
7
+ # sample
8
+
9
+ 元データの持ち方次第ですが、こんなかんじ?
10
+
11
+ ```javascript
12
+
13
+ var a=[
14
+
15
+ ["2019-07-01","安田たかし"],
16
+
17
+ ["2019-07-02","橋本すぐる"],
18
+
19
+ ["2019-07-02","佐々木こうじ"],
20
+
21
+ ["2019-07-03","河本あいり"],
22
+
23
+ ["2019-07-03","猪野しょうへい"],
24
+
25
+ ["2019-07-03","寺島ゆうこ"],
26
+
27
+ ["2019-07-03","寺島ゆうこ"],
28
+
29
+ ["2019-07-03","寺島ゆうこ"],
30
+
31
+ ["2019-07-04","石田しょうご"],
32
+
33
+ ["2019-07-04","渡辺げんき"],
34
+
35
+ ["2019-07-05","安藤けい"],
36
+
37
+ ["2019-07-06","安藤けい"],
38
+
39
+ ["2019-07-07","安藤けい"],
40
+
41
+ ["2019-07-07","渡辺げんき"],
42
+
43
+ ];
44
+
45
+ var b={};
46
+
47
+ a.forEach(x=>{
48
+
49
+ if(!b[x[0]]) b[x[0]]=[];
50
+
51
+ if(b[x[0]].indexOf(x[1])<0) b[x[0]].push(x[1]);
52
+
53
+ });
54
+
55
+ console.log(b);
56
+
57
+ ```