Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Chrome 115
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
set 13070.4 Ops/sec
array 1647945.2 Ops/sec
Script Preparation code:
x
 
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
function createRandomIntArray(minLength, maxLength) {
    const length = getRandomInt(minLength, maxLength);
    const randomArray = [];
    for (let i = 0; i < length; i++) {
        const randomInt = i;
        randomArray.push(getRandomInt(0, maxLength));
    }
    return randomArray;
}
const minLength = 1000;
const maxLength = 1001;
var ids1 = createRandomIntArray(minLength, maxLength);
var ids2 = createRandomIntArray(minLength, maxLength);
var ids3 = createRandomIntArray(minLength, maxLength);
var target1 = createRandomIntArray(1, 50);
var target2 = createRandomIntArray(1, 50);
var target3 = createRandomIntArray(1, 50);
Tests:
  • set

     
    var idsSet1 = new Set(ids1)
    target1.some(id => idsSet1.has(id))
    var idsSet2 = new Set(ids2)
    target2.some(id => idsSet2.has(id))
    var idsSet3 = new Set(ids3)
    target3.some(id => idsSet3.has(id))
  • array

     
    target1.some(id => ids1.includes(id))
    target2.some(id => ids2.includes(id))
    target3.some(id => ids3.includes(id))