Skip to content

Commit 6d2c06c

Browse files
committed
✨ 라벨 메소드 차트 정렬 추가
1 parent 6dd790a commit 6d2c06c

File tree

2 files changed

+216
-84
lines changed

2 files changed

+216
-84
lines changed

src/js/charts/levelChartJS.js

+108-42
Original file line numberDiff line numberDiff line change
@@ -170,60 +170,115 @@ function getLevelDataJs(data, lang, charts) {
170170
}
171171

172172
// 레벨별 메서드 수 level 0
173+
// const level0PerFunctionMethodData = [];
174+
// for (const key in data['js']['level_per_function_method']['level0']) {
175+
// level0PerFunctionMethodData.push(
176+
// data['js']['level_per_function_method']['level0'][key]
177+
// );
178+
// }
179+
// const level0PerFunctionMethodLabels = Object.keys(
180+
// data['js']['level_per_function_method']['level0']
181+
// );
173182
const level0PerFunctionMethodData = [];
174-
for (const key in data['js']['level_per_function_method']['level0']) {
175-
level0PerFunctionMethodData.push(
176-
data['js']['level_per_function_method']['level0'][key]
177-
);
178-
}
179-
const level0PerFunctionMethodLabels = Object.keys(
183+
const level0PerFunctionMethodLabels = [];
184+
185+
let sortLevelMethod = Object.entries(
180186
data['js']['level_per_function_method']['level0']
181-
);
187+
).sort((a, b) => b[1] - a[1]);
188+
189+
for (let element of sortLevelMethod) {
190+
level0PerFunctionMethodData.push(element[1]);
191+
level0PerFunctionMethodLabels.push(element[0]);
192+
}
182193

183194
// 레벨별 메서드 수 level 1
195+
// const level1PerFunctionMethodData = [];
196+
// for (const key in data['js']['level_per_function_method']['level1']) {
197+
// level1PerFunctionMethodData.push(
198+
// data['js']['level_per_function_method']['level1'][key]
199+
// );
200+
// }
201+
// const level1PerFunctionMethodLabels = Object.keys(
202+
// data['js']['level_per_function_method']['level1']
203+
// );
184204
const level1PerFunctionMethodData = [];
185-
for (const key in data['js']['level_per_function_method']['level1']) {
186-
level1PerFunctionMethodData.push(
187-
data['js']['level_per_function_method']['level1'][key]
188-
);
189-
}
190-
const level1PerFunctionMethodLabels = Object.keys(
205+
const level1PerFunctionMethodLabels = [];
206+
207+
sortLevelMethod = Object.entries(
191208
data['js']['level_per_function_method']['level1']
192-
);
209+
).sort((a, b) => b[1] - a[1]);
210+
211+
for (let element of sortLevelMethod) {
212+
level1PerFunctionMethodData.push(element[1]);
213+
level1PerFunctionMethodLabels.push(element[0]);
214+
}
193215

194216
// 레벨별 메서드 수 level 2
217+
// const level2PerFunctionMethodData = [];
218+
// for (const key in data['js']['level_per_function_method']['level2']) {
219+
// level2PerFunctionMethodData.push(
220+
// data['js']['level_per_function_method']['level2'][key]
221+
// );
222+
// }
223+
// const level2PerFunctionMethodLabels = Object.keys(
224+
// data['js']['level_per_function_method']['level2']
225+
// );
195226
const level2PerFunctionMethodData = [];
196-
for (const key in data['js']['level_per_function_method']['level2']) {
197-
level2PerFunctionMethodData.push(
198-
data['js']['level_per_function_method']['level2'][key]
199-
);
200-
}
201-
const level2PerFunctionMethodLabels = Object.keys(
227+
const level2PerFunctionMethodLabels = [];
228+
229+
sortLevelMethod = Object.entries(
202230
data['js']['level_per_function_method']['level2']
203-
);
231+
).sort((a, b) => b[1] - a[1]);
232+
233+
for (let element of sortLevelMethod) {
234+
level2PerFunctionMethodData.push(element[1]);
235+
level2PerFunctionMethodLabels.push(element[0]);
236+
}
204237

205238
// 레벨별 메서드 수 level 3
239+
// const level3PerFunctionMethodData = [];
240+
// for (const key in data['js']['level_per_function_method']['level3']) {
241+
// level3PerFunctionMethodData.push(
242+
// data['js']['level_per_function_method']['level3'][key]
243+
// );
244+
// }
245+
// const level3PerFunctionMethodLabels = Object.keys(
246+
// data['js']['level_per_function_method']['level3']
247+
// );
206248
const level3PerFunctionMethodData = [];
207-
for (const key in data['js']['level_per_function_method']['level3']) {
208-
level3PerFunctionMethodData.push(
209-
data['js']['level_per_function_method']['level3'][key]
210-
);
211-
}
212-
const level3PerFunctionMethodLabels = Object.keys(
249+
const level3PerFunctionMethodLabels = [];
250+
251+
sortLevelMethod = Object.entries(
213252
data['js']['level_per_function_method']['level3']
214-
);
253+
).sort((a, b) => b[1] - a[1]);
254+
255+
for (let element of sortLevelMethod) {
256+
level3PerFunctionMethodData.push(element[1]);
257+
level3PerFunctionMethodLabels.push(element[0]);
258+
}
215259

216260
if (data.js.level_per_function_method.level4) {
217261
// 레벨별 메서드 수 level 4
262+
// const level4PerFunctionMethodData = [];
263+
// for (const key in data['js']['level_per_function_method']['level4']) {
264+
// level4PerFunctionMethodData.push(
265+
// data['js']['level_per_function_method']['level4'][key]
266+
// );
267+
// }
268+
// const level4PerFunctionMethodLabels = Object.keys(
269+
// data['js']['level_per_function_method']['level4']
270+
// );
218271
const level4PerFunctionMethodData = [];
219-
for (const key in data['js']['level_per_function_method']['level4']) {
220-
level4PerFunctionMethodData.push(
221-
data['js']['level_per_function_method']['level4'][key]
222-
);
223-
}
224-
const level4PerFunctionMethodLabels = Object.keys(
272+
const level4PerFunctionMethodLabels = [];
273+
274+
sortLevelMethod = Object.entries(
225275
data['js']['level_per_function_method']['level4']
226-
);
276+
).sort((a, b) => b[1] - a[1]);
277+
278+
for (let element of sortLevelMethod) {
279+
level4PerFunctionMethodData.push(element[1]);
280+
level4PerFunctionMethodLabels.push(element[0]);
281+
}
227282

228283
// 전체 메소드 유형 level 4
229284
const level4PerFunctionMethodChart = new Chart(
@@ -269,15 +324,26 @@ function getLevelDataJs(data, lang, charts) {
269324

270325
if (data.js.level_per_function_method.level5) {
271326
// 레벨별 메서드 수 level 5
327+
// const level5PerFunctionMethodData = [];
328+
// for (const key in data['js']['level_per_function_method']['level5']) {
329+
// level5PerFunctionMethodData.push(
330+
// data['js']['level_per_function_method']['level5'][key]
331+
// );
332+
// }
333+
// const level5PerFunctionMethodLabels = Object.keys(
334+
// data['js']['level_per_function_method']['level5']
335+
// );
272336
const level5PerFunctionMethodData = [];
273-
for (const key in data['js']['level_per_function_method']['level5']) {
274-
level5PerFunctionMethodData.push(
275-
data['js']['level_per_function_method']['level5'][key]
276-
);
277-
}
278-
const level5PerFunctionMethodLabels = Object.keys(
337+
const level5PerFunctionMethodLabels = [];
338+
339+
sortLevelMethod = Object.entries(
279340
data['js']['level_per_function_method']['level5']
280-
);
341+
).sort((a, b) => b[1] - a[1]);
342+
343+
for (let element of sortLevelMethod) {
344+
level5PerFunctionMethodData.push(element[1]);
345+
level5PerFunctionMethodLabels.push(element[0]);
346+
}
281347

282348
// 전체 메소드 유형 level 5
283349
const level5PerFunctionMethodChart = new Chart(

src/js/charts/levelChartPy.js

+108-42
Original file line numberDiff line numberDiff line change
@@ -143,60 +143,115 @@ function getLevelDataPy(data, lang, charts) {
143143

144144
// 레벨별 모듈 메소드(lv0~lv3)
145145
// 레벨별 모듈 메소드(lv0)
146+
// const level0MethodCountData = [];
147+
// for (const key in data['py']['level_per_function_method']['level0']) {
148+
// level0MethodCountData.push(
149+
// data['py']['level_per_function_method']['level0'][key]
150+
// );
151+
// }
152+
// const level0MethodCountLabels = Object.keys(
153+
// data['py']['level_per_function_method']['level0']
154+
// );
146155
const level0MethodCountData = [];
147-
for (const key in data['py']['level_per_function_method']['level0']) {
148-
level0MethodCountData.push(
149-
data['py']['level_per_function_method']['level0'][key]
150-
);
151-
}
152-
const level0MethodCountLabels = Object.keys(
156+
const level0MethodCountLabels = [];
157+
158+
let sorted = Object.entries(
153159
data['py']['level_per_function_method']['level0']
154-
);
160+
).sort((a, b) => b[1] - a[1]);
161+
162+
for (let element of sorted) {
163+
level0MethodCountLabels.push(element[0]);
164+
level0MethodCountData.push(element[1]);
165+
}
155166

156167
// 레벨별 모듈 메소드(lv1)
168+
// const level1MethodCountData = [];
169+
// for (const key in data['py']['level_per_function_method']['level1']) {
170+
// level1MethodCountData.push(
171+
// data['py']['level_per_function_method']['level1'][key]
172+
// );
173+
// }
174+
// const level1MethodCountLabels = Object.keys(
175+
// data['py']['level_per_function_method']['level1']
176+
// );
157177
const level1MethodCountData = [];
158-
for (const key in data['py']['level_per_function_method']['level1']) {
159-
level1MethodCountData.push(
160-
data['py']['level_per_function_method']['level1'][key]
161-
);
162-
}
163-
const level1MethodCountLabels = Object.keys(
178+
const level1MethodCountLabels = [];
179+
180+
sorted = Object.entries(
164181
data['py']['level_per_function_method']['level1']
165-
);
182+
).sort((a, b) => b[1] - a[1]);
183+
184+
for (let element of sorted) {
185+
level1MethodCountLabels.push(element[0]);
186+
level1MethodCountData.push(element[1]);
187+
}
166188

167189
// 레벨별 모듈 메소드(lv2)
190+
// const level2MethodCountData = [];
191+
// for (const key in data['py']['level_per_function_method']['level2']) {
192+
// level2MethodCountData.push(
193+
// data['py']['level_per_function_method']['level2'][key]
194+
// );
195+
// }
196+
// const level2MethodCountLabels = Object.keys(
197+
// data['py']['level_per_function_method']['level2']
198+
// );
168199
const level2MethodCountData = [];
169-
for (const key in data['py']['level_per_function_method']['level2']) {
170-
level2MethodCountData.push(
171-
data['py']['level_per_function_method']['level2'][key]
172-
);
173-
}
174-
const level2MethodCountLabels = Object.keys(
200+
const level2MethodCountLabels = [];
201+
202+
sorted = Object.entries(
175203
data['py']['level_per_function_method']['level2']
176-
);
204+
).sort((a, b) => b[1] - a[1]);
205+
206+
for (let element of sorted) {
207+
level2MethodCountLabels.push(element[0]);
208+
level2MethodCountData.push(element[1]);
209+
}
177210

178211
// 레벨별 모듈 메소드(lv3)
212+
// const level3MethodCountData = [];
213+
// for (const key in data['py']['level_per_function_method']['level3']) {
214+
// level3MethodCountData.push(
215+
// data['py']['level_per_function_method']['level3'][key]
216+
// );
217+
// }
218+
// const level3MethodCountLabels = Object.keys(
219+
// data['py']['level_per_function_method']['level3']
220+
// );
179221
const level3MethodCountData = [];
180-
for (const key in data['py']['level_per_function_method']['level3']) {
181-
level3MethodCountData.push(
182-
data['py']['level_per_function_method']['level3'][key]
183-
);
184-
}
185-
const level3MethodCountLabels = Object.keys(
222+
const level3MethodCountLabels = [];
223+
224+
sorted = Object.entries(
186225
data['py']['level_per_function_method']['level3']
187-
);
226+
).sort((a, b) => b[1] - a[1]);
227+
228+
for (let element of sorted) {
229+
level3MethodCountLabels.push(element[0]);
230+
level3MethodCountData.push(element[1]);
231+
}
188232

189233
// 레벨별 모듈 메소드(lv4)
190234
if (data['py']['level_per_function_method']['level4']) {
235+
// const level4MethodCountData = [];
236+
// for (const key in data['py']['level_per_function_method']['level4']) {
237+
// level4MethodCountData.push(
238+
// data['py']['level_per_function_method']['level4'][key]
239+
// );
240+
// }
241+
// const level4MethodCountLabels = Object.keys(
242+
// data['py']['level_per_function_method']['level4']
243+
// );
191244
const level4MethodCountData = [];
192-
for (const key in data['py']['level_per_function_method']['level4']) {
193-
level4MethodCountData.push(
194-
data['py']['level_per_function_method']['level4'][key]
195-
);
196-
}
197-
const level4MethodCountLabels = Object.keys(
245+
const level4MethodCountLabels = [];
246+
247+
sorted = Object.entries(
198248
data['py']['level_per_function_method']['level4']
199-
);
249+
).sort((a, b) => b[1] - a[1]);
250+
251+
for (let element of sorted) {
252+
level4MethodCountLabels.push(element[0]);
253+
level4MethodCountData.push(element[1]);
254+
}
200255

201256
const methodCountLv4Chart = new Chart(
202257
document.getElementById('level4-method-count-chart'),
@@ -243,15 +298,26 @@ function getLevelDataPy(data, lang, charts) {
243298

244299
// 레벨별 모듈 메소드(lv5)
245300
if (data['py']['level_per_function_method']['level5']) {
301+
// const level5MethodCountData = [];
302+
// for (const key in data['py']['level_per_function_method']['level5']) {
303+
// level5MethodCountData.push(
304+
// data['py']['level_per_function_method']['level5'][key]
305+
// );
306+
// }
307+
// const level5MethodCountLabels = Object.keys(
308+
// data['py']['level_per_function_method']['level5']
309+
// );
246310
const level5MethodCountData = [];
247-
for (const key in data['py']['level_per_function_method']['level5']) {
248-
level5MethodCountData.push(
249-
data['py']['level_per_function_method']['level5'][key]
250-
);
251-
}
252-
const level5MethodCountLabels = Object.keys(
311+
const level5MethodCountLabels = [];
312+
313+
sorted = Object.entries(
253314
data['py']['level_per_function_method']['level5']
254-
);
315+
).sort((a, b) => b[1] - a[1]);
316+
317+
for (let element of sorted) {
318+
level5MethodCountLabels.push(element[0]);
319+
level5MethodCountData.push(element[1]);
320+
}
255321

256322
const methodCountLv5Chart = new Chart(
257323
document.getElementById('level5-method-count-chart'),

0 commit comments

Comments
 (0)