Показать сообщение отдельно
  #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>
Ответить с цитированием