рони,
да, но только тех, что идут подряд. 3 необязательное число (но не меньше трёх). Может быть и 5. Гдавное, чтоб они шли подряд. Пример: 8, 9, 10, 11. |
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>
|
Цитата:
|
рони,
спасибо. Работает. |
Blondinka,
почему дубликаты есть? id уникально |
рони,
потому что я хотела усложнить себе задачу и написать хоть что-нибудь сама (переделать программу с "поиска дубликатов" на "поиск последовательностей"). Я знаю, что id уникально. В основном коде, оно добавляется только 1 раз. |
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>
|
рони, спасибо.
|
| Часовой пояс GMT +3, время: 22:03. |