-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCSV.js
More file actions
36 lines (28 loc) · 940 Bytes
/
CSV.js
File metadata and controls
36 lines (28 loc) · 940 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
class CSV {
constructor(csv) {
this.csv = csv;
}
JSON(filterColumn, greaterThan) {
let lines = csv.split("\n");
let result = [];
let headers = lines[0].split(",");
let columnCount = headers.length;
function findColumn() {
return element.equals(filterColumn);
}
let filterColumnNumber = headers.findIndex(findColumn);
for (let i = 1; i < lines.length; i++) {
let obj = {};
let currentLine = lines[i].split(",");
if (filterColumnNumber === -1 || Number(currentLine[filterColumnNumber]) > greaterThan) {
for (let j = 0; j < columnCount; j++) {
obj[headers[j]] = currentLine[j];
}
result.push(obj);
}
}
//return result; //JavaScript object
return JSON.stringify(result); //JSON
}
}
export {CSV};