-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcleanup.js
36 lines (36 loc) · 959 Bytes
/
cleanup.js
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
var fs = require('fs');
var entries = JSON.parse(fs.readFileSync('data.json', 'utf8'));
entries = entries.scores;
var arr = [];
for (var key in entries) {
if (entries.hasOwnProperty(key)) {
entries[key].id = key;
arr.push(entries[key]);
}
}
let contains = function (array, ele) {
return array.indexOf(ele) > -1;
};
let sort = function (order) {
return function (a, b) {
if (a[order] < b[order])
return 1;
if (a[order] > b[order])
return -1;
return 0;
};
};
arr.sort(sort("score"));
var bestScores = arr.slice(0, 10);
arr.sort(sort("level"));
var bestLevels = arr.slice(0, 10);
var finalEntries = {};
for (x in arr) {
let item = arr[x];
if (contains(bestScores, item) || contains(bestLevels, item)) {
finalEntries[item.id] = item;
delete x.id;
}
}
let data = {scores: finalEntries};
fs.writeFileSync('./data.json', JSON.stringify(data), 'utf-8');