@campus1

Как найти наиболее повторяемое число в массиве?

Есть задачка найти наиболее повторяемое число в массиве.
Делаю так, но как продолжить что-то не приходит в голову.
function repeat(arr) {
    let counter = 0,
        value;
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === arr[i + 1]) {
            counter++;
            value = arr[i];
        }
    }
}


[1,2,3,4,4,4, 4,5,2,1,2] = > 4
  • Вопрос задан
  • 200 просмотров
Решения вопроса 3
Stimulate
@Stimulate
могу
Ответ написан
Комментировать
function repeat(arr) {
	let repeats = {},
		maxValue,
		maxIter;

	for (let i = 0; i < arr.length; i++) {
		let value = arr[i];

		if (repeats[value] === undefined)
			repeats[value] = 0;

		++repeats[value];

		if (maxValue === undefined
			|| repeats[value] > maxIter) {
			maxValue = value;
			maxIter = repeats[value];
		}
	};

	return maxValue;
}
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы