javascript create range copy range explained code example
Example: javascript range
function range(start, stop, step = 1, circularFill = false, map = (value) => value) {
if (typeof stop === 'undefined') {
stop = start;
start = 0;
}
if (step > 0 && start >= stop) {
step = -step;
}
if (step < 0 && start <= stop) {
return [];
}
let index = start;
const result = [];
if (circularFill) {
const size = start + stop;
for (index; step > 0 ? index < size : index > size; index += step) {
result.push(map(index % stop));
}
return result;
}
for (index; step > 0 ? index < stop : index > stop; index += step) {
result.push(map(index));
}
return result;
}
range(8)
range(-8)
range(25, 30, 2);
range(-25, -30, -2);
range(5, 10, 1, true)
range(-5, -10, -1, true)
function rangeChars(text, start, stop, step, circularFill, map = (value) => value) {
start = text.indexOf(start);
stop = text.indexOf(stop) + 1;
return range(start, stop, step, circularFill, (i) => {
return map(text[i]);
});
}
rangeChars('shooooouuut!!!!', 'o', '!');