修正JavaScript 中的負數模運算子
在JavaScript 中,模運算子(%) 傳回一個數字除以另一個數字時的餘數。但是,對於負數,JavaScript 的模運算子會出現意外行為,傳回負結果。出現此問題的原因是 JavaScript 內部使用有符號整數,該整數不適合模運算。
要解決此問題,您可以使用以下自訂 mod函數:
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
此函數可確保模結果始終為正,與數學定義一致
用法:
console.log(-13.mod(64)); // Output: 51
說明:
自訂mod函數首先使用原生計算餘數JavaScript 模運算子。然後,將除數 (n) 加到餘數中。這確保結果是非負的。最後,它執行第二次模運算以獲得最終的正餘數。
這個修改後的模函數使 JavaScript 的行為與預期的數學結果保持一致,促進涉及負數的一致和準確的計算。
以上是如何修復 JavaScript 的負數模運算子的意外行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!