Skip to content
Advertisement

Check if all values in array are the same

I need to check if all values in an array equal the same thing.

For example:

JavaScript

If every value in the array equals 'true' then I want to echo 'all true'. If any value in the array equals 'false' then I want to echo 'some false'

Any idea on how I can do this?

Advertisement

Answer

All values equal the test value:

JavaScript

or just test for the existence of the thing you don’t want:

JavaScript

Prefer the latter method if you’re sure that there’s only 2 possible values that could be in the array, as it’s much more efficient. But if in doubt, a slow program is better than an incorrect program, so use the first method.

If you can’t use the second method, your array is very large, and the contents of the array is likely to have more than 1 value (especially if the 2nd value is likely to occur near the beginning of the array), it may be much faster to do the following:

JavaScript

Note: Some answers interpret the original question as (1) how to check if all values are the same, while others interpreted it as (2) how to check if all values are the same and make sure that value equals the test value. The solution you choose should be mindful of that detail.

My first 2 solutions answered #2. My isHomogenous() function answers #1, or #2 if you pass it the 2nd arg.

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement