私はこのJavaScript関数を使用していますが、同じ結果を得るためのよりよい方法があるかどうかは疑問です。私は100であることが起こっ私のランダムに生成された数が3でdivideableになりたい場合は数値を別の数値のファクタにする(パフォーマンス上の問題)
function factorise(number, factor){
if(factor === 0) return 0;
return Math.round(number/factor) * factor;
}
は今、私はこの機能を使用することができます。ここで
factorise(100, 3); ---> 99
いくつかの他の例である:あなたが返された値が関数に渡された要素数の要因が含まれて見ることができるように
factorise(27, 5); ---> 25
factorise(2095, 27); ---> 1206
。しかし、私の懸念はこれのパフォーマンスです。 JavaScriptのゲームエンジンの物理学で動作させるのが理想的でしょうか?その上に私は本当に関数のより良い名前を持ってほしいと思っています。
なぜゼロのチェックが必要なのですか?数値以外の何かを返しますか? –
0で割ることは安全ではありません、私はJavaScriptがそれを防ぐための安全対策を持っているかどうかわかりませんが、安全な側にさせてください。私はintを返すべきです、それを賞賛してくれてありがとう。 –
@JohanSundman JSでは、0で区切るとNaNが返されますが、これは偽です。 JSはintを持たず、64ビットの浮動小数点しか持たない。 – Oriol