Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 13.05.2016, 21:07
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

рони,
да, но только тех, что идут подряд. 3 необязательное число (но не меньше трёх). Может быть и 5. Гдавное, чтоб они шли подряд. Пример: 8, 9, 10, 11.
Ответить с цитированием
  #32 (permalink)  
Старый 13.05.2016, 21:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Blondinka,
вариант для 3
<script>
var arr = [9, 9, 9, 111, 5, 2, 5, 3, 4, 4, 5, 7] ;

function test(a) {
    a = a.slice().sort(function(a, b) {
        return a - b
    });
    return a.some(function(c, b) {
        var d = a[b + 1],
            e = a[b + 2];
        return c == d - 1 && c == e - 2 && (a = [c, d, e])
    }) && a
};
document.write(JSON.stringify(test(arr)))
  </script>
Ответить с цитированием
  #33 (permalink)  
Старый 13.05.2016, 21:26
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

Сообщение от рони
то есть это массив незаполненных ячеек ? тогда почему id повторяются
Хотела сама написать. Решила, что если найду функцию поиска дубликатов - будет роще написать то, что мне нужно. Пол-дня пыталась написать/переделать чужое. Безрезультатно. Без этой функции программа работать не будет.
Ответить с цитированием
  #34 (permalink)  
Старый 13.05.2016, 21:31
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

рони,
спасибо. Работает.
Ответить с цитированием
  #35 (permalink)  
Старый 13.05.2016, 21:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Blondinka,
почему дубликаты есть? id уникально
Ответить с цитированием
  #36 (permalink)  
Старый 13.05.2016, 21:45
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

рони,
потому что я хотела усложнить себе задачу и написать хоть что-нибудь сама (переделать программу с "поиска дубликатов" на "поиск последовательностей"). Я знаю, что id уникально. В основном коде, оно добавляется только 1 раз.
Ответить с цитированием
  #37 (permalink)  
Старый 13.05.2016, 21:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Blondinka,
функция для последовательности любой длины больше 2, вернёт найденную первую последовательность или false.
<script>
var a = [20,21,22,1,2,3,4,5,8] ;

function test(a) {
    a = a.slice().sort(function(a, b) {
        return a - b
    });
    return a.some(function(d, b) {
        var c = a.slice(b);
        c.some(function(a, b) {
            return a != c[b + 1] - 1 && (c = c.slice(0, b + 1))
        });
        return 2 < c.length && (a = c)
    }) && a
};
document.write(JSON.stringify(test(a)))
  </script>
Ответить с цитированием
  #38 (permalink)  
Старый 13.05.2016, 22:10
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

рони, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальный элемент в массиве. Alex961 Общие вопросы Javascript 4 29.12.2015 13:49
Как найти дубли в массиве optsar jQuery 6 10.12.2015 21:46
Как найти совпадения в массиве и добавить их в двумерный массив? Armen Общие вопросы Javascript 4 23.04.2015 13:27
Как найти и посчитать одинаковые изображения в массиве? Michael_isr Общие вопросы Javascript 2 05.08.2014 16:55
Как найти индекс по элементу в двумерном массиве? bayah Общие вопросы Javascript 5 22.04.2010 16:26