-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparseCsvData.js
More file actions
59 lines (54 loc) · 1.79 KB
/
parseCsvData.js
File metadata and controls
59 lines (54 loc) · 1.79 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// imported PapaParse in index.html
// season emojis
const fall = "🍁";
const winter = "❄️";
const spring = "🌷";
const question = "❓";
// makeSeasonString(seasonList): makes string of season emojis
// based on season list
function makeSeasonString(seasonList) {
let result = "";
while (seasonList.length != 0) {
const [car, ...cdr] = seasonList;
if (car === 'F') {
result += fall;
}
else if (car === 'W') {
result += winter;
}
else if (car === "S") {
result += spring;
}
else {
result += question;
}
seasonList = cdr;
}
return result;
}
// console.log(makeSeasonString(['F', 'S']));
// "data" is an array of arrays containing the header / class data
// parseCsvData(data): parses csv data into json object
function parseCsvData(data) {
// console.log(data);
let parsedData = {};
for (var i = 1; i < data.length; i++) {
let cc = data[i][0]; // courseCode
let cn = data[i][1]; // courseName
let cd = data[i][2]; // courseDesc
let cp = (cc === "HS") ? [] : data[i][3].split(", "); // coursePrereq
let cl = data[i][4]; // courseLevel
let cs = (cc === "HS") ? "" : makeSeasonString(data[i][5].split(", ")); // courseSeasons (as a string)
parsedData[cc] = {
courseCode: cc,
courseName: cn,
courseDescription: cd,
coursePrereq: cp,
courseLevel: cl,
courseSeasons: cs,
}
}
// console.log(parsedData);
return parsedData;
}
export { parseCsvData };