JavaScript'in verilen sınırlar içinde bir aralık oluşturmak için "range()" gibi bir yöntemi var mı?

PHP'de şunları yapabilirsiniz...

range(1, 3); // Array(1, 2, 3)
range("A", "C"); // Array("A", "B", "C")

Yani, üst ve alt sınırları geçerek bir sayı veya karakter aralığı elde etmenizi sağlayan bir işlev vardır.

Bunun için JavaScript'te yerel olarak yerleşik bir şey var mı? Eğer yoksa, bunu nasıl uygulayabilirim?

Çözüm

Karakterler ve sayılar için çalışır, isteğe bağlı bir adımla ileri veya geri gider.


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  0 ? end >= start : end 
Yorumlar (0)

Array.range= function(a, b, step){
    var A= [];
    if(typeof a== 'number'){
        A[0]= a;
        step= step || 1;
        while(a+step
Yorumlar (1)

Standart Javascript'in aralık oluşturmak için yerleşik bir işlevi yoktur. Birkaç javascript çerçevesi bu tür özellikler için destek ekler veya başkalarının da belirttiği gibi her zaman kendi çerçevenizi oluşturabilirsiniz.

İki kez kontrol etmek isterseniz, kesin kaynak ECMA-262 Standardı'dır.

Yorumlar (4)