Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

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

#javascript


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

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

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


Ответы

Ответ 1



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

Ответ 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)

Ответ 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);

Комментариев нет:

Отправить комментарий