-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSortQuora.js
More file actions
67 lines (42 loc) · 1.63 KB
/
SortQuora.js
File metadata and controls
67 lines (42 loc) · 1.63 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
60
61
62
/* -- FUNCTIONS -- */
var getAnswersDivs = function(classContainer, individualClassContainer) {
var potentiallyAnswers = $(classContainer);
var answersDivs = [];
for (var i = 0; i < potentiallyAnswers.length; i++) {
var answer = $('#' + potentiallyAnswers[i].id).find(individualClassContainer);
if (answer.length > 0) answersDivs.push(potentiallyAnswers[i]);
}
return answersDivs;
};
var getNumberOfUpvotesPerAnswer = function(answersDivs) {
var getNumberOfUpvotesFromString = function (text) {
if (text.indexOf("k") !== -1) {
return 1000 * Number(text.replace("k", ""));
} else if (text.indexOf("m") !== -1) {
return 1000000 * Number(text.replace("m", ""));
} else {
return Number(text);
}
};
var data = [];
for (var i = 0; i < answersDivs.length; i++) {
var countDiv = $('#' + answersDivs[i].id).find('.answer_upvote');
var count = $(countDiv[0].children[1])[0];
data.push({ valor: getNumberOfUpvotesFromString($(count).html()), indice: i});
}
data.sort(function(a, b) {
return b.valor - a.valor;
});
return data;
};
var updateQuoraPage = function(data, mainContainerClass, answersDivs) {
var mainContainer = $(mainContainerClass);
mainContainer.empty();
for (var i = 0; i < data.length; i++) {
mainContainer.append(answersDivs[data[i].indice]);
}
};
/* -- MAIN -- */
var answersDivs = getAnswersDivs('.pagedlist_item', '.AnswerBase');
var data = getNumberOfUpvotesPerAnswer(answersDivs);
updateQuoraPage(data, '.AnswerPagedList', answersDivs);