Size: a a a

JavaScript Noobs — сообщество новичков

2021 July 25

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ну или приходится разбираться, а потом сразу забываю все
источник

LS

Levon Stepanyan in JavaScript Noobs — сообщество новичков
окей, спасибо за ответ
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
зачем в 1?
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
это работает?
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
тогда зачем в 1 строку делать
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
почините сначала
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
аыыааау
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
могу скинуть прямо говно
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
оч плохое решение
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
но мне сначала нужно признание поражения
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
пушо сдаваться неинтересно
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
но если уже вот отчаялся совсем, то я кину
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
слишком просто(
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
(()=>{


const sequenceToRange = numbers => {
   if (!numbers.length)
       return '';

   let result = '';
   let rangeFinishedYet = true;

   for (let i = 0; i < numbers.length; i++) {
       if (rangeFinishedYet) {
           result += numbers[i];
       }

       if (numbers[i+1] - numbers[i] > 1 || numbers.length === i + 1) {
           if (!rangeFinishedYet) {
               result += -${numbers[i]};
           }

           if (i !== numbers.length - 1) {
               result += ', ';
           }

           rangeFinishedYet = true;
           
           continue;
       }
       
       if (rangeFinishedYet) {
           rangeFinishedYet = false;
       }
   }


   return result;
};


const tests = [
   [
        [0, 1, 2, 3, 4, 7, 8, 10],
        '0-4, 7-8, 10'
   ],
   [
       [4, 7, 10],
       '4, 7, 10'
   ],
   [
       [2, 3, 8, 9],
       '2-3, 8-9'
   ]
];

const result = tests.map(([sequence, result]) => {
   const testResult = sequenceToRange(sequence);
   return {
       sequence: sequence.toString(),
       result,
       testResult,
       success: testResult === result
   }
});


console.table(result);

})()
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
это я вот сам мутил, но мне оно совершенно не понравилось
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ну и щас я бы не стал со строкой возиться
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
эт слишком запарно
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
ща поправлю, телега сожрала бэктики
источник

N

Null in JavaScript Noobs — сообщество новичков
Привет, подскажите как это можно оптимизировать? И хотя бы если ни одно условие не удовлетворяется чтобы ничего не ретурнить, а то сейчас undefiend возвращается
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
"ничего не ретурнить" и есть undefined
источник