Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Chrome 134
Mac OS X 10.15.7
Desktop
27 days ago
Test name Executions per second
Set.difference 3977908.2 Ops/sec
Array.filter 1010046.9 Ops/sec
Array.filter with Set.has 4423274.0 Ops/sec
Script Preparation code:
AخA
 
var array1 = Array.from({length: 40}, () => Math.floor(Math.random() * 140));
var array2 = Array.from({length: 20}, () => Math.floor(Math.random() * 140));
var setFromArray1 = new Set(array1)
var setFromArray2 = new Set(array2)
Tests:
  • Set.difference

     
    const setDiff = setFromArray1.difference(setFromArray2)
  • Array.filter

     
    const arrayFilter = array1.filter(value => array2.indexOf(value))
  • Array.filter with Set.has

     
    const arrayFilterWithSetHas = array1.filter(value => setFromArray2.has(value))