v1
- by qwerty 1/6/202100
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
// https://jsbench.me/3pkjlwzhbr/1
// https://stackoverflow.com/a/65604244/985454
// https://docs.google.com/spreadsheets/d/1WucECh5uHlKGCCGYvEKn6ORrQ_9RS6BubO208nXkozk/edit?usp=sharing
// JSBench forked from https://jsbench.me/irkhdxnoqa/2

var theArr = Array.from({ length: 10000 }, (_, el) => el)
var theSet = new Set(theArr)
var theObject = Object.assign({}, ...theArr.map(num => ({ [num]: true })))
var theMap = new Map(theArr.map(num => [num, true]))

var theTarget = 9000


// Array

function isTargetThereFor(arr, target) {
  const len = arr.length
  for (let i = 0; i < len; i++) {
    if (arr[i] === target) {
      return true
    }
  }
  return false
}
function isTargetThereForReverse(arr, target) {
  const len = arr.length
  for (let i = len; i > 0; i--) {
    if (arr[i] === target) {
      return true
    }
  }
  return false
}

function isTargetThereIncludes(arr, target) {
  return arr.includes(target)
}

// Set

function isTargetThereSet(numberSet, target) {
  return numberSet.has(target)
}

// Object 

function isTargetThereHasOwnProperty(obj, target) {
  return obj.hasOwnProperty(target)
}
function isTargetThereIn(obj, target) {
  return target in obj
}
function isTargetThereSelectKey(obj, target) {
  return obj[target]
}

// Map

function isTargetThereMap(numberMap, target) {
  return numberMap.has(target)
}
delete caserun single casemove downdrag and drop case


ready



var forLoop = isTargetThereFor(theArr, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var forLoopReverse = isTargetThereForReverse(theArr, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var includes = isTargetThereIncludes(theArr, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var setHas = isTargetThereSet(theSet, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var hasOwnProperty = isTargetThereHasOwnProperty(theObject, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var keyIn = isTargetThereIn(theObject, theTarget);
delete caserun single casemove upmove downdrag and drop case


ready



var propertyIn = isTargetThereSelectKey (theObject, theTarget);
delete caserun single casemove updrag and drop case


ready



var mapHas = isTargetThereMap(theMap, theTarget);
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN