How can I use modulo operator (%) in JavaScript?
369,821
Solution 1
It's the remainder operator and is used to get the remainder after integer division. Lots of languages have it. For example:
10 % 3 // = 1 ; because 3 * 3 gets you 9, and 10 - 9 is 1.
Apparently it is not the same as the modulo operator entirely.
Solution 2
That would be the modulo operator, which produces the remainder of the division of two numbers.
Author by
Ziyaddin Sadigov
Updated on July 24, 2020Comments
-
Ziyaddin Sadigov almost 4 years
How can I use modulo operator (%) in calculation of numbers for JavaScript projects?
-
MarioDS about 11 yearsYou can fit
3
exactly 3 times in 9. If you would add 3 one more time to 9, you would end up with 12. But you were dividing 10, so instead you say it's 3 times 9 with the remainder being 1. That's what modulo gets you. -
Codebeat about 10 yearsI think it is better to explain it this way: Modulo is the difference left when dividing a value. You can use this to calculate listing lists with items, for example: 10 % 10 gives you 0. When it is 0 you know there a 10 items in a list. For example 20 % 10 gives you the same value, 0, another 10 items in a list......
-
Lucero over 9 yearsThere is no "integer division" operator in JS AFAIK;
10 / 3
will result in3.333...
. You need to truncate the fraction, for instance by usingMath.floor()
. -
MarioDS over 9 years@Lucero you're right, I never realised that! I just assumed it used the same basic operator available in many languages.
-
Lucero over 9 years@MDeSchaepmeester, well it kind of is using the same basic operator as in other languages, but it lacks a specific integer primitive. JS natively only has "number" primitives which are floating-point, and thus there also are no integer-only operators.
-
MarioDS over 9 years@Lucero oh, yes that makes sense! Thanks for the insight.
-
Paul Redmond almost 8 yearsWhy does 1 % x always return 1? Unless x is less than 1? E.g. 1 % 2 returns 1, why? 1 can't be divided by 2.
-
Conny Olsson almost 8 years@Paul Redmond, because you can't fit 2 into 1 (= 0 times). This gives the remainder 1.
-
Aaron Franke almost 5 yearsIn C-like languages, including JavaScript,
%
is the remainder operator, not modulo/modulus. They are equivalent for positive values, but different for negative ones. -
Peter over 4 yearsdownvoting this answer as it doesn't add anything useful to this conversation.
-
dex10 over 3 yearsThanks! This helped me answer my coding bootcamp's challenge easily.