-
Notifications
You must be signed in to change notification settings - Fork 35
/
100.js
49 lines (46 loc) · 1000 Bytes
/
100.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
43
44
45
46
47
48
49
const citiesList = [
'buenos aires',
'italy',
'cordoba',
'santa fe',
'saraza',
'buenos aires',
'santiago',
'saraza',
'buenos aires',
'buenos aires',
'santa fe',
'buenos aires',
'saraza',
'buenos aires',
'italy',
'cordoba',
'saraza',
'santa fe',
'santa fe',
'santa fe',
'italy',
'santa fe',
'saraza',
'santa fe',
'saraza',
'milan',
'italy',
'milan',
'milan',
'cordoba',
'cordoba',
'italy',
'cordoba',
'buenos aires',
]
const mostOcurCities = () => {
const cities = {};
citiesList.forEach(city => {
// si no esta en el objeto, lo agregamos, si esta, sumamos su valor
cities[city] = !cities[city] ? 1 : cities[city] + 1;
})
// convertimos el objeto a array para ordenarlo
return Object.keys(cities).map(city => ({name: city, count: cities[city]})).sort((a, b) => b.count - a.count).slice(0, 4);
}
console.log(mostOcurCities());