-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrest.js
More file actions
41 lines (36 loc) · 912 Bytes
/
rest.js
File metadata and controls
41 lines (36 loc) · 912 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"use strict";
exports.ok = function (values, res) {
var data = {
status: 200,
values: values,
};
res.json(data);
res.end();
};
// response untuk nested mata kuliah
exports.oknested = function (values, res) {
// lakukan akumulasi
const hasil = values.reduce((akumulasikan, item) => {
// tentukan key group
if (akumulasikan[item.nama]) {
// buat variable group nama mahasiswa
const group = akumulasikan[item.nama];
// cek jika isi array matakuliah
if (Array.isArray(group.matakuliah)) {
// tambahkan value ke dalam group matakuliah
group.matakuliah.push(item.matakuliah);
} else {
group.matakuliah = [group.matakuliah, item.matakuliah];
}
} else {
akumulasikan[item.nama] = item;
}
return akumulasikan;
}, {});
var data = {
status: 200,
values: hasil,
};
res.json(data);
res.end();
};