Does exists a JS or jQuery function to intersect 2 arrays, for example:
var array1 = [1,2,3,4,5];
var array2 = [2,4,8,9,0];
var result = someFun(array1, array2);
//result = [2,4];
sure I can make it manually, but maybe exists a shorter way.
Since you have jQuery tag:
$(array1).filter(array2);
Or:
$.map(array1, function(el){
return $.inArray(el, array2) < 0 ? null : el;
})
Or (not for IE8 or less):
array1.filter(function(el) {
return array2.indexOf(el) != -1
});
Example:
> array1 = [1,2,3,4,5];
[1, 2, 3, 4, 5]
> array2 = [2,4,8,9,0];
[2, 4, 8, 9, 0]
> array1.filter(function(el) {
return array2.indexOf(el) != -1
});
[2, 4]
This Should work
var alpha = [1, 2, 3, 4, 5, 6],
beta = [4, 5, 6, 7, 8, 9];
$.arrayIntersect = function(a, b)
{
return $.grep(a, function(i)
{
return $.inArray(i, b) > -1;
});
};
console.log( $.arrayIntersect(alpha, beta) );
DEMO
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With