Skip to content

Commit 2043a2f

Browse files
committed
implement sort by acceptance rating and difficulty
1 parent 0e71fb0 commit 2043a2f

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/problems-by-company/company.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ async function main() {
1515
});
1616

1717
document.getElementById('#')?.addEventListener('click', () => sortBy('#'));
18-
document.getElementById('Title')?.addEventListener('click', () => sortBy('Title'));
1918
document.getElementById('Difficulty')?.addEventListener('click', () => sortBy('Difficulty'));
19+
document.getElementById('Title')?.addEventListener('click', () => sortBy('Title'));
20+
document.getElementById('Acceptance')?.addEventListener('click', () => sortBy('Acceptance'));
2021
document.getElementById('Frequency')?.addEventListener('click', () => sortBy('Frequency'));
2122
document.getElementById('dateSelect')?.addEventListener('change', (event) => {
2223
const selectedFrequency = (event.target as HTMLSelectElement).value;
@@ -270,7 +271,9 @@ function rebuildTable() {
270271
// Keep track of the sorting order for each column
271272
const sortOrders = {
272273
'#': false,
274+
'Difficulty': false,
273275
'Title': false,
276+
'Acceptance': false,
274277
'Frequency': false,
275278
};
276279

@@ -289,9 +292,15 @@ function sortBy(column: string) {
289292
case '#':
290293
solutions.sort((a, b) => (sortOrders[column] ? a.id - b.id : b.id - a.id));
291294
break;
295+
case 'Difficulty':
296+
solutions.sort((a, b) => (sortOrders[column] ? a.difficulty - b.difficulty : b.difficulty - a.difficulty));
297+
break;
292298
case 'Title':
293299
solutions.sort((a, b) => (sortOrders[column] ? a.title.localeCompare(b.title) : b.title.localeCompare(a.title)));
294300
break;
301+
case 'Acceptance':
302+
solutions.sort((a, b) => (sortOrders[column] ? b.acceptance - a.acceptance : a.acceptance - b.acceptance));
303+
break;
295304
case 'Frequency':
296305
solutions.sort((a, b) => (sortOrders[column] ? b.frequency - a.frequency : a.frequency - b.frequency));
297306
break;

0 commit comments

Comments
 (0)