You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB
JavaScript

function num_string_range(start, end, step)
{
var range = [];
if ((step === 0) || (typeof start == "undefined" || typeof end == "undefined") || (typeof start != typeof end))
return false;
if (end < start) {
step = -step;
}
if (typeof start == "number") {
while (step > 0 ? end >= start : end <= start) {
range.push(start);
start += step;
}
}
else if (typeof start == "string") {
if (start.length != 1 || end.length != 1) {
throw TypeError("Strings with one character are supported.");
}
start = start.charCodeAt(0);
end = end.charCodeAt(0);
while (step > 0 ? end >= start : end <= start) {
range.push(String.fromCharCode(start));
start += step;
}
}
else
{
throw TypeError("Only string and number are supported");
}
return range;
}
console.log(num_string_range('a', "z", 2));
console.log(num_string_range("Z", "A", 2));
console.log(num_string_range(0, -5, 1));
console.log(num_string_range(0, 25, 5));
console.log(num_string_range(20, 5, 5));