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]
source share