Array Intersection

Simple implementation of array intersection in Javascript

by Alexandre Simoes

JavaScript

var value1 = 'countrymanager';
var value2 = 'reviewer';
var array1 = ['approver', 'countrymanager', 'expert', 'manager', 'regionmanager', 'reviewer', 'submissionmanager', 'submitter'];
var array2 = ['approver', 'submitter'];

var intersect = function(a,b){
    a = Array.isArray(a) ? a : [a];
    b = Array.isArray(b) ? b : [b];
    
    return a.filter(function (n) {
        return b.indexOf(n) != -1
    });
};

console.log(intersect(array1, array2));
console.log(intersect(array2, array1));

console.log(intersect(value1, array1));
console.log(intersect(array1, value1));

console.log(intersect(value1, array2));

console.log(intersect(value1, value2));

console.log(intersect(undefined, value2));