Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.07.2015, 15:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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);
Ответить с цитированием
  #12 (permalink)  
Старый 13.07.2015, 15:54
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от рони
где 6-9 ?
Не совсем понял причем тут 6-9...
Ответить с цитированием
  #13 (permalink)  
Старый 13.07.2015, 16:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ksa,
алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21 -- конечно пока ТС это неуточнил
Ответить с цитированием
  #14 (permalink)  
Старый 13.07.2015, 16:25
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от рони
алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21
Это не следует из варианта ТСа...
Ответить с цитированием
  #15 (permalink)  
Старый 13.07.2015, 16:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ksa
Это не следует из варианта ТСа...
да пока это только моё предположение
Ответить с цитированием
  #16 (permalink)  
Старый 13.07.2015, 16:37
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

рони, я думал, что ты про 9шт. элементов (их у ТСа 8шт. в примере) ранее писал... А ты оказывается про 9-ку как значение в том массиве...
Ответить с цитированием
  #17 (permalink)  
Старый 13.07.2015, 16:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ksa,
Ответить с цитированием
  #18 (permalink)  
Старый 13.07.2015, 18:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ksa
2, 2, 1
Слабоват JS в плане работы с датами, то есть готовых инструментами для работы с этими данными не так и много, а вот на сервере даже пусть и для такой последовательности достаточно всего, включая и работу с интервалами и прочим. Мне так кажется, что проще подготовить необходимое уже на сервере, это не так и обременительно будет.

Последний раз редактировалось laimas, 13.07.2015 в 18:10.
Ответить с цитированием
  #19 (permalink)  
Старый 13.07.2015, 22:05
Интересующийся
Отправить личное сообщение для silent Посмотреть профиль Найти все сообщения от silent
 
Регистрация: 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)
Ответить с цитированием
  #20 (permalink)  
Старый 13.07.2015, 23:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор из массива трех элементов sonntagausgang Общие вопросы Javascript 2 26.05.2013 02:59
Определить количество отрицательных элементов массива Тип_1 Общие вопросы Javascript 3 25.06.2012 18:24
поочередный вывод элементов массива seosovest Общие вопросы Javascript 7 09.04.2012 10:47
Использование одной функции для элементов с разными ID Ferroks Общие вопросы Javascript 10 11.09.2009 08:51
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53