This is a JavaScript function to get common elements from indefinite number of arrays.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var intersectArrays = function(){ | |
var min = 1000; var arg = 0; var index = 0; | |
var common = []; | |
for (var i=0; i<arguments.length; i++){ | |
if(arguments[i].length < min){ | |
min = arguments[i].length; | |
arg = i; | |
} | |
} | |
for (var i=0; i<arguments[arg].length; i++){ | |
for (var j=0; j<arguments.length; j++){ | |
if(j!=arg && arguments[j].indexOf(arguments[arg][i]) != -1){ | |
index++; | |
} | |
} | |
if(index == arguments.length-1){ | |
common.push(arguments[arg][i]); | |
} | |
index = 0; | |
} | |
return common; | |
}; |
Input: Indefinite number of Arrays.
Output: Array consisting of common elements from given arrays.
To see how it works:
http://jsfiddle.net/shoobm/j6hjuh0t/