2013-01-24 45 views
3

有沒有一種簡單的方法可以找到一個數字在JavaScript中平均分配到另一個數字的次數?JavaScript - 找出一個數字平均分配到另一個數字的次數

說,11除以4 ---我知道4進入11 2次均勻

我有這樣的代碼,但我認爲有,我也許忘記了一個簡單的方法?

<script> 
a = 11; 
b = 4; 

i = a % b; 
i2 = a - i; 
solution = i2/b; 
document.write(solution); // 2 
</script> 

回答

14

怎樣......

Math.floor(11/4); 

如果你想處理負數(感謝Ted Hopp),你可以使用~~|0或任何其他按位技巧,將對待它的操作數一個32位有符號整數。請記住,除了這個令人困惑之外,它不會處理32位以上的數字。

~~(11/4); 
+0

如果商數爲負數,'Math.floor'不是正確的工具。 –

+0

@TedHopp沒錯,沒有考慮到。傳入編輯。 – alex

5

您可以使用這一招:

(a/b) >> 0 

移動由0截斷小數部分。這將始終朝向0,其中Math.floor不會對負數做任何處理。

+0

不會使用*任何*位運算符截斷小數部分嗎? (不是我的downvote) – alex

+1

@alex - 非常。你使用'~~'的建議工作正常。我寧願做一個按位操作而不是兩個,都是。 :) - 啊!我剛剛看到你也建議'| 0'。這與我簡單的訣竅相關! –

+1

我給你的小費的給予好評。我從來沒有通過前面板開關編程,但它聽起來很有趣,很想有一個啤酒,但我相信我們會生活在不同的大洲。 – alex

相關問題