Ich habe diese funktionierende JavaScript-Funktion und ich frage mich, ob es eine bessere Möglichkeit geben könnte, das gleiche Ergebnis zu erzielen.Machen Sie Nummer einen Faktor einer anderen Zahl (Leistungsbedenken)
function factorise(number, factor){
if(factor === 0) return 0;
return Math.round(number/factor) * factor;
}
Jetzt Wenn ich meine zufällig generierte Zahl wollen würde, die 100 passiert sein divideable um 3 zu sein, ich könnte diese Funktion verwenden.
factorise(100, 3); ---> 99
Hier sind einige weitere Beispiele:
factorise(27, 5); ---> 25
factorise(2095, 27); ---> 1206
Wie Sie die zurückgegebenen Werte enthalten, um die Funktion übergeben den Faktor der Faktor Nummer sehen können. Aber meine Sorge ist die Leistung davon. Wäre es ideal, wenn es in der Physik einer JavaScript Game Engine läuft? Außerdem möchte ich einen besseren Namen für die Funktion haben.
Warum brauchen Sie die Überprüfung auf Null und geben Sie etwas außerhalb eines numerischen Werts zurück? –
dividieren durch 0 ist nicht sicher, ich weiß nicht, ob Javascript eine Sicherheitsmaßnahme hat, um es zu verhindern, aber lassen Sie uns auf der sicheren Seite sein. Ich sollte jedoch ein int zurückgeben, danke, dass ich es ausgespielt habe. –
@JohanSundman In JS geben Divisionen mit 0 NaN zurück, was falsch ist. JS hat keine Ints, es hat nur 64-Bit-Floats. – Oriol