-
Notifications
You must be signed in to change notification settings - Fork 0
/
kata.js
43 lines (23 loc) · 939 Bytes
/
kata.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
37
38
39
40
41
42
function sortEmotions(arr, order) {
let position = [':D', ':)', ':|', ':(', 'T_T'];
if (order === false) position = position.reverse();
return arr.map(i => [i, position.indexOf(i)])
.sort((a, b) => a[1] - b[1])
.map(i => i[0]);
}
console.log(sortEmotions([':D', 'T_T', ':D', ':('], true));
// [ ':D', ':D', ':(', 'T_T' ]
console.log(sortEmotions(['T_T', ':D', ':(', ':('], true));
// [ ':D', ':(', ':(', 'T_T' ]
console.log(sortEmotions([':)', 'T_T', ':)', ':D', ':D'], true));
// [ ':D', ':D', ':)', ':)', 'T_T' ]
console.log(sortEmotions([':D', 'T_T', ':D', ':('], false));
// [ 'T_T', ':(', ':D', ':D' ]
console.log(sortEmotions(['T_T', ':D', ':(', ':('], false));
// [ 'T_T', ':(', ':(', ':D' ]
console.log(sortEmotions([':)', 'T_T', ':)', ':D', ':D'], false));
// [ 'T_T', ':)', ':)', ':D', ':D' ]
console.log(sortEmotions([], false));
// []
console.log(sortEmotions([], true));
// []