Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти тройные дубликаты в массиве (https://javascript.ru/forum/misc/63029-najjti-trojjnye-dublikaty-v-massive.html)

рони 13.05.2016 15:28

Blondinka,
Цитата:

Сообщение от Blondinka
if (sorted_arr[i + 1] == sorted_arr[i] == sorted_arr[i+2])

так не бывает в js

Blondinka 13.05.2016 15:30

destus,
Писала на jQuery.
1. Столкнулась с тем, что не могу ничего написать без него.
2. Писала свой "большой проект" на jQuery и в один прекрасный день, он не запустился. Использовала CDN. Наверно, они там что-то обновили. Было очень обидно.
3. Часто встречаю выражение "джейквэримонки". Наверно, jQuery - зло. Подобное 1 раз встречала, по отношению к React.
Пришла к выводу, что не стоит привыкать к библиотекам.

Blondinka 13.05.2016 15:31

рони,
почему?

рони 13.05.2016 15:33

Blondinka, код будет верным если более 3 повторов в массиве нет, типа 1,1,1,1 иначе нужно менять алгоритм или использовать вариант предложенный выше
function myFunction() {
var arr = [9, 9, 9, 111, 5, 2, 5, 3, 4, 4, 5, 7];
var sorted_arr = arr.slice().sort(function(a,b) {
   return b - a
});
var results = [];
for (var i = 0; i < arr.length - 2; i++) {
    if (sorted_arr[i + 1] == sorted_arr[i] && sorted_arr[i] == sorted_arr[i+2]) {
        results.push(sorted_arr[i]);
    }
}

alert(results);
}
myFunction()

destus 13.05.2016 16:56

Цитата:

Сообщение от Blondinka (Сообщение 416439)
destus,
Писала на jQuery.
1. Столкнулась с тем, что не могу ничего написать без него.
2. Писала свой "большой проект" на jQuery и в один прекрасный день, он не запустился. Использовала CDN. Наверно, они там что-то обновили. Было очень обидно.
3. Часто встречаю выражение "джейквэримонки". Наверно, jQuery - зло. Подобное 1 раз встречала, по отношению к React.
Пришла к выводу, что не стоит привыкать к библиотекам.

В больших проектах вроде все уже юзают менеджеры пакетов Bower/npm и хранят зависимости проекта от сторонних библиотек в одном файле.

Blondinka 13.05.2016 18:48

destus, откуда мне это было знать? Но тогда это был мой большой пет-проект. Сейчас я уже знаю, о существовании Bower/npm но не понимаю, как этим пользоваться.

Vlasenko Fedor 13.05.2016 18:57

var arr = [9, 9, 9, 111, 5, 2, 5, 3, 4, 4, 5, 7];
var res = arr.filter(function(value, index){
    return index != arr.indexOf(value) && index != arr.lastIndexOf(value);
});

alert(res);

Blondinka 13.05.2016 19:43

А что, если я хочу получить последовательность. Скажем, [2, 3, 4] ?

рони 13.05.2016 19:49

Цитата:

Сообщение от Blondinka
А что, если я хочу получить последовательность. Скажем, [2, 3, 4] ?

можно пример исходного массива и результат?

Blondinka 13.05.2016 19:58

рони,
тот же массив [9, 9, 9, 111, 5, 2, 5, 3, 4, 4, 5, 7] - > sort()
Результат - первая последовательность из трёх чисел - [2, 3, 4]


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