JavaScriptで二つの配列の積集合を取得

面倒くさいのでJavaScript1.8で、
1.8をFirebugで使いたい場合は↓を参考に。
肉少なめ | Item - Firebugのコンソールでjavascript 1.8を使う

var array1 = [1,2,3,4,5];
var array2 = [2,4,5,6,7];
var in_array1 = {};
array1.forEach(function(n,i){in_array1[n]=true;});
var result = array2.filter(function(n,i)in_array1[n]);
result != array2; // true
result; // [2,4,5]