Test Map vs Find

Benchmark created on


Setup

const arr = [
{firstName:"A", lastName:"Doe", age:1},
{firstName:"B", lastName:"Doe", age:2},
{firstName:"C", lastName:"Doe", age:3},
{firstName:"D", lastName:"Doe", age:4},
{firstName:"E", lastName:"Doe", age:5},
{firstName:"F", lastName:"Doe", age:6},
{firstName:"G", lastName:"Doe", age:6},
{firstName:"H", lastName:"Doe", age:6},
{firstName:"I", lastName:"Doe", age:6},
{firstName:"J", lastName:"Doe", age:6},
{firstName:"K", lastName:"Doe", age:6},
{ firstName: "L", lastName: "Doe", age: 7 },
  { firstName: "M", lastName: "Doe", age: 8 },
  { firstName: "N", lastName: "Doe", age: 9 },
  { firstName: "O", lastName: "Doe", age: 10 },
  { firstName: "P", lastName: "Doe", age: 11 },
  { firstName: "Q", lastName: "Doe", age: 12 },
  { firstName: "R", lastName: "Doe", age: 13 },
  { firstName: "S", lastName: "Doe", age: 14 },
  { firstName: "T", lastName: "Doe", age: 15 },
  { firstName: "U", lastName: "Doe", age: 16 },
  { firstName: "V", lastName: "Doe", age: 17 },
  { firstName: "W", lastName: "Doe", age: 18 },
  { firstName: "X", lastName: "Doe", age: 19 },
  { firstName: "Y", lastName: "Doe", age: 20 },
  { firstName: "Z", lastName: "Doe", age: 21 },
  { firstName: "AA", lastName: "Doe", age: 22 },
  { firstName: "AB", lastName: "Doe", age: 23 },
  { firstName: "AC", lastName: "Doe", age: 24 },
  { firstName: "AD", lastName: "Doe", age: 25 },
  { firstName: "AE", lastName: "Doe", age: 26 },
  { firstName: "AF", lastName: "Doe", age: 27 },
  { firstName: "AG", lastName: "Doe", age: 28 },
  { firstName: "AH", lastName: "Doe", age: 29 },
  { firstName: "AI", lastName: "Doe", age: 30 },
  { firstName: "AJ", lastName: "Doe", age: 31 },
  { firstName: "AK", lastName: "Doe", age: 32 },
  { firstName: "AL", lastName: "Doe", age: 33 },
  { firstName: "AM", lastName: "Doe", age: 34 },
  { firstName: "AN", lastName: "Doe", age: 35 },
  { firstName: "AO", lastName: "Doe", age: 36 },
  { firstName: "AP", lastName: "Doe", age: 37 },
  { firstName: "AQ", lastName: "Doe", age: 38 },
  { firstName: "AR", lastName: "Doe", age: 39 },
  { firstName: "AS", lastName: "Doe", age: 40 },
  { firstName: "AT", lastName: "Doe", age: 41 },
  { firstName: "AU", lastName: "Doe", age: 42 },
  { firstName: "AV", lastName: "Doe", age: 43 },
  { firstName: "AW", lastName: "Doe", age: 44 },
  { firstName: "AX", lastName: "Doe", age: 45 },
  { firstName: "AY", lastName: "Doe", age: 46 },
  { firstName: "AZ", lastName: "Doe", age: 47 },
  { firstName: "BA", lastName: "Doe", age: 48 },
  { firstName: "BB", lastName: "Doe", age: 49 },
  { firstName: "BC", lastName: "Doe", age: 50 },
  { firstName: "BD", lastName: "Doe", age: 51 },
  { firstName: "BE", lastName: "Doe", age: 52 },
  { firstName: "BF", lastName: "Doe", age: 53 },
  { firstName: "BG", lastName: "Doe", age: 54 },
  { firstName: "BH", lastName: "Doe", age: 55 },
  { firstName: "BI", lastName: "Doe", age: 56 },
  { firstName: "BJ", lastName: "Doe", age: 57 },
  { firstName: "BK", lastName: "Doe", age: 58 },
  { firstName: "BL", lastName: "Doe", age: 59 },
  { firstName: "BM", lastName: "Doe", age: 60 },
  { firstName: "BN", lastName: "Doe", age: 61 },
  { firstName: "BO", lastName: "Doe", age: 62 },
  { firstName: "BP", lastName: "Doe", age: 63 },
  { firstName: "BQ", lastName: "Doe", age: 64 },
  { firstName: "BR", lastName: "Doe", age: 65 },
  { firstName: "BS", lastName: "Doe", age: 66 },
  { firstName: "BT", lastName: "Doe", age: 67 },
  { firstName: "BU", lastName: "Doe", age: 68 },
  { firstName: "BV", lastName: "Doe", age: 69 },
  { firstName: "BW", lastName: "Doe", age: 70 },
  { firstName: "BX", lastName: "Doe", age: 71 },
  { firstName: "BY", lastName: "Doe", age: 72 },
  { firstName: "BZ", lastName: "Doe", age: 73 },
  { firstName: "CA", lastName: "Doe", age: 74 },
  { firstName: "CB", lastName: "Doe", age: 75 },
  { firstName: "CC", lastName: "Doe", age: 76 },
  { firstName: "CD", lastName: "Doe", age: 77 },
  { firstName: "CE", lastName: "Doe", age: 78 },
  { firstName: "CF", lastName: "Doe", age: 79 },
  { firstName: "CG", lastName: "Doe", age: 80 },
  { firstName: "CH", lastName: "Doe", age: 81 },
  { firstName: "CI", lastName: "Doe", age: 82 },
  { firstName: "CJ", lastName: "Doe", age: 83 },
  { firstName: "CK", lastName: "Doe", age: 84 },
  { firstName: "CL", lastName: "Doe", age: 85 },
  { firstName: "CM", lastName: "Doe", age: 86 },
  { firstName: "CN", lastName: "Doe", age: 87 },
  { firstName: "CO", lastName: "Doe", age: 88 },
  { firstName: "CP", lastName: "Doe", age: 89 },
  { firstName: "CQ", lastName: "Doe", age: 90 },
]

Test runner

Ready to run.

Testing in
TestOps/sec
Using Map

const idMap = new Map;

arr.forEach((person) => {
	const newPerson = {
		"id": person.firstName
	};
	idMap.set(newPerson.id, person.age);
});


arr.forEach((person) => {
	const test = idMap.get(person.firstName);
});
ready
Using Find
const tests = []
arr.forEach((person) => {
	const newPerson = {
		"id": person.firstName,
		"age": person.age
	};
	tests.push(newPerson)
});


arr.forEach((person) => {
	const test = tests.find((el) => el.id === person.firstName)
});
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.