Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Какая здесь ошибка? (https://javascript.ru/forum/misc/71201-kakaya-zdes-oshibka.html)

Program_cat 01.11.2017 19:36

Какая здесь ошибка?
 
Задача.
Удалить в массиве все числа, которые повторяются более двух раз.
Программа не правильно работает.Никак не пойму в чем ошибка
var n = +prompt("Введите количество элементов массива", "");
var a = [];
for (var i = 0; i < n; i++) {
    a[i] = +prompt('Введите элемент массива:', '');
}
alert("Массив:" + a);
var count = 0;
a.sort();
for (var i = n-1; i>=0; i--)
{
    for (var j = i - 1; j >= 0; j--)
    {

        if (a[i] == a[j])
            count++;
    }
    if (count > 1) {
        a.splice(i - count, count + 1);
        i = i - (count + 1);
    }
}
alert(a);

рони 01.11.2017 20:09

Program_cat,
на всякий случай: строка 8 - sort по умолчанию сортирует по алфавиту, чтобы сортировать числа нужна дополнительная функция.

Rasy 01.11.2017 20:12

1. Сортировка нерабочая
2. Вырезается две цифры, если одинаковые

Rasy 01.11.2017 20:58

Program_cat,
другая реализация подойдет?


Часовой пояс GMT +3, время: 11:36.