Создать массив диапазона чисел

293
09 июля 2017, 15:09

Нужно создать строку в которой будут числа 12883, 12892-12926

Пока что есть идея создать массив и потом его перевести в строку. Думал что можно создать массив просто [12883, 12892-12926] Но ошибся. Как попроще это сделать? "Попроще" в плане минимум кода. К примеру вариант с циклом не очень нравится. Тогда уже лучше наверное как то .map воспользоватся.

Какие варианты еще?

Answer 1
arr = [12883, ...Array.from(Array(35).keys(),x=>x+12892)]
Answer 2

var s = "12883, 12892-12926" 
 
var res = s.replace(/\s/g, '').replace(/(\d+)-(\d+)/g, function (m, l, r) { 
  var res = l 
 
  while (++l<=r) { 
    res += "," + l 
  } 
 
  return res; 
}) 
 
console.log(res)

Answer 3

var inputStr = '12-13'; 
 
var arr = inputStr.split('-'); 
var start = +arr[0]; 
var count = (+arr[1] - arr[0]) + 1; 
 
var result = Array.from(new Array(count),(val,index)=>index + start); 
console.log(result);

READ ALSO
Функция чем поделились [требует правки]

Функция чем поделились [требует правки]

Почему с обновлением бока поделиться в вебмастере стало невозможно посмотреть чем именно поделился пользователь (какой страницей)Это очень...

266
Как переименовать переменную?

Как переименовать переменную?

Например, я создал var lol = "lol123"Как изменить lol на loltest1?

335
Не срабатывает Visual Studio Code debugger. Ошибка “$ is not defined” в консоли VSCode (в chrome dev tools чисто)

Не срабатывает Visual Studio Code debugger. Ошибка “$ is not defined” в консоли VSCode (в chrome dev tools чисто)

Изучают отладчик VSCodeНе срабатывают точки останова в jQuery коде

408
Как включить сглаживание в flipbook.js?

Как включить сглаживание в flipbook.js?

Кто знает как избавиться от такого эффекта?

324