Показать сообщение отдельно
  #10 (permalink)  
Старый 22.09.2020, 19:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Здесь достаточного одного прохода простого цикла:

let left = right =  null;

for(let i=0; i<allDataMonth.length; ++ i) {
    if(allDataMonth[i] < currentData && (left==null || left < allDataMonth[i])) left = allDataMonth[i];
    if(allDataMonth[i] > currentData && (right==null || right > allDataMonth[i])) right = allDataMonth[i];
}
Ответить с цитированием