>웹 프론트엔드 >JS 튜토리얼 >음수를 사용하는 JavaScript 모듈로 연산자의 예기치 않은 동작을 어떻게 수정할 수 있습니까?

음수를 사용하는 JavaScript 모듈로 연산자의 예기치 않은 동작을 어떻게 수정할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-30 12:23:12262검색

How Can I Fix the Unexpected Behavior of JavaScript's Modulo Operator with Negative Numbers?

JavaScript에서 음수 모듈로 연산자 수정

JavaScript에서 모듈로 연산자(%)는 한 숫자를 다른 숫자로 나눌 때 나머지를 반환합니다. 그러나 음수의 경우 JavaScript의 모듈로 연산자가 예기치 않게 작동하여 음수 결과를 반환합니다. 이 문제는 JavaScript가 모듈로 연산에 적합하지 않은 부호 있는 정수를 내부적으로 사용하기 때문에 발생합니다.

이 문제를 해결하려면 다음 사용자 정의 mod 함수를 사용할 수 있습니다.

Number.prototype.mod = function (n) {
  "use strict";
  return ((this % n) + n) % n;
};

이 함수는 다음을 보장합니다. 모듈로 결과는 항상 양수이며 수학적 정의와 일치합니다. modulo.

사용법:

console.log(-13.mod(64)); // Output: 51

설명:

사용자 정의 mod 함수는 먼저 기본 모듈을 사용하여 나머지를 계산합니다. JavaScript 모듈로 연산자. 그런 다음 나머지에 제수(n)를 추가합니다. 이렇게 하면 결과가 음수가 아니게 됩니다. 마지막으로 두 번째 모듈로 연산을 수행하여 최종 양수 나머지를 얻습니다.

이 수정된 모듈로 함수는 JavaScript의 동작을 예상되는 수학적 결과에 맞춰 음수와 관련된 일관되고 정확한 계산을 촉진합니다.

위 내용은 음수를 사용하는 JavaScript 모듈로 연산자의 예기치 않은 동작을 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.