Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Java by (9.5k points)

Below is my PHP code, to get a  range of numbers or characters by passing the upper and lower bounds:

range(1, 3); // Array(1, 2, 3)

range("A", "C"); // Array("A", "B", "C")

Can anyone tell me if there is an built-in JavaScript method to do this?

1 Answer

0 votes
by (19.7k points)

Check out the below code which works for numbers as well as characters:

var range = function(start, end, step) {

    var range = [];

    var typeofStart = typeof start;

    var typeofEnd = typeof end;

    if (step === 0) {

        throw TypeError("Step cannot be zero.");

    }

    if (typeofStart == "undefined" || typeofEnd == "undefined") {

        throw TypeError("Must pass start and end arguments.");

    } else if (typeofStart != typeofEnd) {

        throw TypeError("Start and end arguments must be of same type.");

    }

    typeof step == "undefined" && (step = 1);

    if (end < start) {

        step = -step;

    }

    if (typeofStart == "number") {

        while (step > 0 ? end >= start : end <= start) {

            range.push(start);

            start += step;

        }

    } else if (typeofStart == "string") {

        if (start.length != 1 || end.length != 1) {

            throw TypeError("Only 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 types are supported");

    }

    return range;

}

Interested in Java? Check out this Java Certification by Intellipaat. 

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

Browse Categories

...