Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

gina78 avatar gina78 4 Точки

сортиране на числа

Здравейте, искам да напиша конзолна програма
 която брои колко пъти излизат числа и да ги изпиши, 
кое число най много пъти излиза.Някой знай ли?

Пример:

2 18 20 26 28
8 19 23 25 34
1 17 23 29 35
10 21 23 24 25
2 3 19 29 34
12 20 21 28 29
7 24 26 27 28
1 3 11 21 26
9 12 13 23 27
8 11 24 31 32
2 18 27 30 35

0
Programming Basics
willystyle avatar willystyle 2472 Точки

Прилича на статистика за тото 5 от 35 :)

За край на входа въвеждай "end" (реализирана е с речник, учи се в следващия курс).

https://pastebin.com/1prj6ajK

 

 

1
JivkoJelev avatar JivkoJelev 235 Точки

function sortArray(arr, obj){

return arr.map(num => obj[num] == undefined ? obj[num] = 1 : obj[num]++) && obj;

}

console.log(sortArray([2, 18, 20, 26, 28, 8, 19, 23, 25, 34,1, 17, 23, 29, 35,10, 21, 23, 24, 25,2, 3, 19, 29, 34,12, 20 ,21, 28, 29,7, 24, 26, 27, 28,1, 3, 11, 21, 26,9, 12, 13, 23, 27,8, 11, 24, 31, 32,2, 18, 27, 30, 35], {}));

1
willystyle avatar willystyle 2472 Точки

Това е добро, но за да е пълна задачата, трябва да се подреди, за целта обект не върши работа (трябва да вадим keys ама ще развалим one-liner-а :) затова предлагам Map() и решението остава на 1 ред:

function sortMap(arr, map){

  return arr.map(num => map.has(num) ? map.set(num, map.get(num) + 1) : map.set(num, 1)) && new Map([...map.entries()].sort((a, b) => b[1] - a[1]));

}

console.log(sortMap([2, 18, 20, 26, 28, 8, 19, 23, 25, 34, 1, 17, 23, 29, 35, 10, 21, 23, 24, 25, 2, 3, 19, 29, 34, 12, 20 ,21, 28, 29, 7, 24, 26, 27, 28, 1, 3, 11, 21, 26, 9, 12, 13, 23, 27, 8, 11, 24, 31, 32, 2, 18, 27, 30, 35], new Map()));

1
gina78 avatar gina78 4 Точки

Благодаря ти много колега

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.