0

0 とオブジェクトを含む配列の長さの間の乱数を取得しようとしています。ほとんど機能していますが、得られる数値が「未定義」になることがあり、その理由がわかりません。

ここに私のコード:

var temp, stock = [];
var x = 
        [{'a' :' aa'},{'b ':'qsdf'},{'c':'aaa'},{'d':'ccc'},{'e':'54'},{'f':'l'},
         {'a' :' bb'},{'b ':'qsdf'},{'c':'aaa'},{'d':'ccc'},{'e':'54'},{'f':'l'}];

function randomize(min,max) {
    return Math.floor((Math.random()*max)+min);
}

function test(tab) {

    var tabLength = tab.length;

    if(stock.length == tabLength ) {

        alert('End')

    }else{

         temp = randomize(0,tabLength); 

        if(stock.length == 0) {

            stock += temp;
            return temp;

        }else{  

            if(stock.indexOf(temp) > -1)  {

                test(tab);

            }else{

                stock += temp;
                return temp;                
            }       
        }
    }
}



    div.onclick = function () {
        var number = test(x)
        alert(stock+' '+number)

}

4

0 に答える 0