13.07.2015, 15:46
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
ksa,
где 6-9 ?
var a = [6, 7, 8, 9, 14, 15, 16, 20, 21];
var b=[];
for (var i = 0; i < a.length-1; i+=3) {
b[b.length]=a[i]+' - '+((a[i+2])? a[i+2]: a[i+1]);
};
alert(b);
|
|
13.07.2015, 15:54
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от рони
|
где 6-9 ?
|
Не совсем понял причем тут 6-9...
|
|
13.07.2015, 16:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
ksa,
алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21 -- конечно пока ТС это неуточнил
|
|
13.07.2015, 16:25
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от рони
|
алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21
|
Это не следует из варианта ТСа...
|
|
13.07.2015, 16:27
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от ksa
|
Это не следует из варианта ТСа...
|
да пока это только моё предположение
|
|
13.07.2015, 16:37
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
рони, я думал, что ты про 9шт. элементов (их у ТСа 8шт. в примере) ранее писал... А ты оказывается про 9-ку как значение в том массиве...
|
|
13.07.2015, 16:43
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
ksa,
|
|
13.07.2015, 18:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Слабоват JS в плане работы с датами, то есть готовых инструментами для работы с этими данными не так и много, а вот на сервере даже пусть и для такой последовательности достаточно всего, включая и работу с интервалами и прочим. Мне так кажется, что проще подготовить необходимое уже на сервере, это не так и обременительно будет.
Последний раз редактировалось laimas, 13.07.2015 в 18:10.
|
|
13.07.2015, 22:05
|
Интересующийся
|
|
Регистрация: 10.07.2015
Сообщений: 10
|
|
вставлю еще я 5 копеек
алгоритм должен пропускать 2 - 1 - 0 ??
var arr = [6, 7, 8, 9, 14, 15, 16, 20, 21];
var mas = [];
for(var i = 0, j = 3; i < arr.length; i++, j-=1) {
(j > 0) ? mas.push(arr[i] + '-' + arr[i+j]) : j = 3;
i+=j;
}
alert(mas)
|
|
13.07.2015, 23:11
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
silent,
var arr = [6, 20, 21];
var mas = [];
for(var i = 0, j = 3; i < arr.length; i++, j-=1) {
(j > 0) ? mas.push(arr[i] + '-' + arr[i+j]) : j = 3;
i+=j;
}
alert(mas)
var a = [6,20,21];
function fn(b) {
for (var d = [], c, a = 0; a < b.length; a++)
if (!c && (c = b[a]), void 0 !== b[a + 1] && 1 < b[a + 1] - b[a] || a == b.length - 1) d.push(c + (c == b[a] ? "" : " - " + b[a])), c = !1;
return d
};
alert(fn(a))
|
|
|
|