Вы можете использовать lodash или Undescore.js range
:
var range = require('lodash/range')
range(10)
// -> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
В качестве альтернативы, если вам нужен только последовательный диапазон целых чиселВы можете сделать что-то вроде:
Array.apply(undefined, { length: 10 }).map(Number.call, Number)
// -> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
В ES6 range
может быть реализован с генераторами :
function* range(start=0, end=null, step=1) {
if (end == null) {
end = start;
start = 0;
}
for (let i=start; i < end; i+=step) {
yield i;
}
}
Эта реализация экономит память при итерациибольшие последовательности, потому что не нужно материализовать все значения в массив:
for (let i of range(1, oneZillion)) {
console.log(i);
}