16 Stimmen

Javascript Zufallszahl?

Ich habe das folgende Skript:

Timer=0;
function countdown(auctionid){
    var auctions;
    var divs;

    Timer=Timer+1;

    if((Timer%10=="0")||(Timer=="1")){
        $.get("current.php", {
                id:auctionid
            },
            function(data){
                auctions=data.split("||");
                for(n=0;n<=auctions.length;n++){
                    if(auctions[n] != undefined){
                        divis=auctions[n].split("##");

                        $('#futu'+divis[0]).html(divis[1]);
                    }
                }
            }
        );
    }

    var cauctionid="auctionid";
    var tauctions=auctionid.split("|");
    for(i=0;i<=tauctions.length;i++){
        if(tauctions[i] != undefined){
            var dd=$('#futu'+tauctions[i]).text();
            var cdd=dd-1;
            $('#futu'+tauctions[i]).html(cdd);

            dd=dd*1000;
            dday=Math.floor(dd/(60*60*1000*24)*1)
            dhour=Math.floor(dd/(60*60*1000)*1)
            dmin=Math.floor((dd%(60*60*1000))/(60*1000)*1)
            dsec=Math.floor(((dd%(60*60*1000))%(60*1000))/1000*1)

            if(dday==0&&dhour==0&&dmin==0&&dsec==0){
                $('#Bid'+tauctions[i]).html("SOLD");
            //return
            }
            if(dhour <=9){
                dhour = "0"+dhour;
            }
            if(dmin <=9){
                dmin = "0"+dmin;
            }
            if(dsec <=9){
                dsec = "0"+dsec;
            }

            if(dd>=1000){
                var valll=dhour+":"+dmin+":"+dsec;
            }

            if(dd<1000){
                var valll="00:00:00";
            }

            $('#Bid'+tauctions[i]).html(valll);
        }
    }
    refreshID=setTimeout("countdown('"+auctionid+"')",1000);
}

In der Zeile, die lautet: if((Timer%10=="0")||(Timer=="1")){

Wie mache ich aus der 10 eine Zufallszahl zwischen 2 und 12?

0 Stimmen

49voto

Noldorin Punkte 138548

Sie möchten die random() Funktion. Leider gibt es keine Version, die eine ganze Zahl zurückgibt, sondern nur eine Fließkommazahl zwischen 0 und 1, so dass Sie ein paar Operationen durchführen müssen. Versuchen Sie das Folgende:

var randomNum = Math.floor(Math.random() * 10) + 2;

Dies sollte eine zufällige ganze Zahl zwischen 2 (einschließlich) und 12 (ausschließlich) erzeugen. Ändern Sie 10 in 11, wenn Sie wollen, dass die 12 inklusiv ist.

0 Stimmen

5voto

skamradt Punkte 15128

Siehe die Antworten auf diese Frage Frage mit dem Sie auch den Startwert festlegen können.

1voto

NVRM Punkte 8487

Die Verwendung des Web-Krypto-Api .

console.log(

  crypto.getRandomValues(new Uint32Array(1))[0] ,

  crypto.getRandomValues(new Uint16Array(1))[0] ,

  crypto.getRandomValues(new Uint8Array(1))[0]

)

https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues https://caniuse.com/#feat=cryptography

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X