Skip to content

Instantly share code, notes, and snippets.

@nicklasos
Last active December 30, 2015 08:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicklasos/7802331 to your computer and use it in GitHub Desktop.
Save nicklasos/7802331 to your computer and use it in GitHub Desktop.
Array intersect.
// array_multi_intersect([[1, 2, 3], [2, 3, 4], [0, 2, 3, 8]]); => [2, 3]
function array_multi_intersect(arr)
{
var firstArr = [],
totalArr = [],
i,
j,
k;
if (arr.length < 2) {
return arr;
}
firstArr = arr[0];
for (i = 0; i < firstArr.length; i += 1) {
for (j = 1; j < arr.length; j += 1) {
if (arr[j].indexOf(firstArr[i]) === -1) {
firstArr[i] = false;
break;
}
}
}
for (k = 0; k < firstArr.length; k += 1) {
if (firstArr[k]) {
totalArr.push(firstArr[k]);
}
}
return totalArr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment