Is there a way in JavaScript to compare values from one array and see if it is in another array?
Similar to PHP's in_array
function?
Is there a way in JavaScript to compare values from one array and see if it is in another array?
Similar to PHP's in_array
function?
No, it doesn't have one. For this reason most popular libraries come with one in their utility packages. Check out jQuery's inArray and Prototype's Array.indexOf for examples.
jQuery's implementation of it is as simple as you might expect:
If you are dealing with a sane amount of array elements the above will do the trick nicely.
EDIT: Whoops. I didn't even notice you wanted to see if an array was inside another. According to the PHP documentation this is the expected behavior of PHP's
in_array
:The code posted by Chris and Alex does not follow this behavior. Alex's is the official version of Prototype's indexOf, and Chris's is more like PHP's
array_intersect
. This does what you want:And this my test of the above on it:
Note that I intentionally did not extend the Array prototype as it is generally a bad idea to do so.
If you need all the PHP available parameters, use this:
There is an equivalent function:
Look here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes