Set.has vs Array.includes vs Map.get (v3)

Revision 3 of this benchmark created on


Setup

const selectedId = 'C01G5GK1P9N';
const sections = {
  "L084GMYQUBZ": {
      "channelsAssociatedOrdered": [
          "C07A42A2T3Q",
          "C019R34C9LL",
          "CH44V4J68",
          "C02MV3C0TN3",
          "C032H7TR0LC",
          "C026LCERWG3",
          "C08JG5H9G3Y",
          "C09DZ76ERHN",
          "C042Q31REE9",
          "C045221MJP8",
          "C093Q48KSV6",
          "C099WRXJH9D",
          "C08J9JD2HL2",
          "C098M9EFQNM",
          "C030E8X8ABE",
          "C08Q7TQFKJA",
          "C08CNMVD9C0",
          "C0913QLA1PS",
          "C09294V041Y",
          "C08NSH77WV9",
          "C08B5APS24U",
          "C097DSM7EKV",
          "C07JNEH1AEL",
          "C09159H32ES",
          "C082500RD7E"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L06NE3Z7HRB": {
      "channelsAssociatedOrdered": [
          "C06JE4GH4HY",
          "C024D3WHHF1",
          "C013Q4BPD4H",
          "CSM3ZGUD8",
          "C036P1N2RK2",
          "G8EGN5W1F",
          "C08PKBEQUV7",
          "C08PH4V12N7",
          "CNTRLSGLE",
          "C8EDTNNG2",
          "C9V9WQY3C",
          "GVCRT05B9",
          "C02PQ788YFM",
          "C01L0D554TW",
          "C8EHSTX7X",
          "C07SGQT2ZH6",
          "C02BV4TRKN1",
          "C8EE24Q4S",
          "CHEBZTZKP",
          "C0421G9UW",
          "C06N4GRG7DJ",
          "CFB3W1L2F",
          "C05DZQAP4JE",
          "C023ZQ2U2A1",
          "CCTAR1WAH",
          "C07QUJ9AN5S",
          "C04L2PAN6P3",
          "C02LQSX25RU",
          "CC29CH8AG",
          "C017YF8LAHF",
          "C07NWHMQ12S",
          "C06T2310B34",
          "C03RXT1KYPN",
          "C05KVFCKP44",
          "C06372QFMKM",
          "C0ADK3G2U",
          "C02PMBP7WS1",
          "C09872GKXPA",
          "C02NV8WJNS1",
          "C8EH27UDT",
          "C01MSPJM6KS",
          "C07PJCT0PJA",
          "C0435JADBFU",
          "C0798BWLN9F",
          "CEDRJUPD4",
          "C8EH5TKL5",
          "C8FA3RUK0"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L02NQ1Y5D54": {
      "channelsAssociatedOrdered": [
          "CNWRTMM09",
          "C013BAHSZ6X",
          "C02GLRNELRH",
          "C0564S2RY7M",
          "C0187MJJGTF",
          "C026FP97LBX",
          "C01LN6FEJ93",
          "CLTDSJ3NV",
          "CM4AG8NF2",
          "C048KJ3DKMF",
          "C03GZNTJ7AS",
          "C08FR7GUNPJ",
          "CV2AB487R",
          "C03LPPQRSE4",
          "C031TK3L8FR",
          "C03TW0VV15Z",
          "C02DRKPFZM4",
          "C04B364BATV",
          "C04M3T41YRF",
          "C0485G1CC92",
          "C02CR8H6AH3",
          "CDLQVBZ1Q",
          "C01RNDWBLGL"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L06N2EKDXUP": {
      "channelsAssociatedOrdered": [
          "C07TCMBV29Z",
          "C065RA8J75L",
          "CRKFJ8C8M",
          "D07HA2MSU5R",
          "CRYEUHZ2R",
          "CS970JV1Q"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L02NWP05JQ3": {
      "channelsAssociatedOrdered": [
          "C0EL5LQAU",
          "C5ZP2HL67",
          "C024BE7LT",
          "C8FFXV07R",
          "C047MNHHR88",
          "C2JMKLXH9",
          "C88KH761Y",
          "C024BE7LR"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L02NWRC8XFU": {
      "channelsAssociatedOrdered": [
          "C03MM80GRRS",
          "C01T7G66NTX",
          "CQVMPCY21",
          "C044QA4PEBH",
          "C03Q2TTK3AL",
          "C7LT6EQLB",
          "C06Q2CA55C5",
          "C06FE6GTBAP",
          "C04KYB0G4",
          "C01KBC2LY9H"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L02MT9RLN1F": {
      "channelsAssociatedOrdered": [
          "D02JAQHQBSQ",
          "D06533KFE3C",
          "D087FP0KBGB",
          "D071ETF6QKW",
          "D02LWM5LV7U",
          "D08HD7BPH1A",
          "D02MN21M58D",
          "D097F0ZNGAU",
          "D087EGFP41Z",
          "D07QRRSKGK1",
          "D09D6M5NE31",
          "D083DBGB3MK"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L032TRPLT9V": {
      "channelsAssociatedOrdered": [
          "C024N5M60C8",
          "C013MUVGU21",
          "C017B4L9STW",
          "C03E4JXF0P3"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L031JDNSJ91": {
      "channelsAssociatedOrdered": [
          "C04MVHHFQ2W",
          "C01GMUHL35M",
          "C9PEVT1QE",
          "C025WDMDG21",
          "C8EBKN61Z",
          "C01FZSEA8NA"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L03ALDM85RD": {
      "channelsAssociatedOrdered": [
          "C032HPKHT37",
          "C032TPY6BQ9",
          "C02KY12GYG2"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L03BDM8SC9F": {
      "channelsAssociatedOrdered": [
          "CA4E7SL67",
          "C01G5GK1P9N"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L03C1MXEY8K": {
      "channelsAssociatedOrdered": [
          "C02CZ316NAE"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L02MGU5BK0U": {
      "channelsAssociatedOrdered": [
          "CD4STKQE9",
          "C06KZQXG2VA",
          "CG6HDURD0",
          "C01M1CJRLF5",
          "C03CX3MRL7K",
          "C8DTE0RU1",
          "C8EE11FEG",
          "C01JB6HG04S",
          "C01GFLYUMSM",
          "C034AJP8Z",
          "C01Q57QBGBF",
          "C02BUUAEV",
          "C07DZ8EBJEP",
          "C07Q58JMQG2",
          "CAZ03KAAW",
          "C08GCBP34JY",
          "C07N8ESHT18",
          "C054GKHS1QE",
          "C08KLB2820Z",
          "CP9CK1EDP",
          "C0827BDT8BS",
          "C01QWHF6FNU",
          "C01TRTEK4FM",
          "C01GFSWV170",
          "C01V8SJTL1J",
          "C07BUGTT19T",
          "C01LTD135PY",
          "C09K29F5F",
          "CNA7EMDN0",
          "C070H5S8RC3",
          "C7KSJ53GQ",
          "C074G131L59",
          "C01GLAW67B6",
          "C023NKYUSTT",
          "C01AWEW1HB4",
          "C01J15HNSKY",
          "C8FF4MB5M",
          "C06N7AE8YCQ",
          "C8EFD23HS",
          "C8EE664KU",
          "C06FWDFRP0X",
          "C068TQPND70",
          "C0951Q56EPP",
          "C068Z2EHLQN",
          "C05F3PCTHJM",
          "C050LF6U7RA",
          "C01NJDVQA13",
          "C019S1NUKD2",
          "C08CT6GDFEK",
          "C8FFL8XU7",
          "C9NHKM6UF",
          "C0335AP7LET",
          "C06LGA4NUKH",
          "C0F4ZPBDK",
          "C057CFD7JCR",
          "C06LPGEA9RR",
          "C08UZQDN8Q1",
          "C8HJ8UG07",
          "C08PWRJ9ASV",
          "CHU119H1Q",
          "CGM6ZJ2PN",
          "C05JJ3WR8UX",
          "C013GV4AL4T",
          "C038S8NJ3S6",
          "CCWAY0C6B",
          "C8VMGR7TN",
          "C033TPXFW",
          "CBS24HDDY",
          "C8EDS0NFL",
          "C081PKQJR28",
          "C081BUX1YH4",
          "C0826REJUFN",
          "C0821FM6F5K",
          "C081X88GZND",
          "C01EQM3FC67",
          "C8DTY8RR7",
          "C8EDMD4R0",
          "C06LX3BG93M",
          "CHS2P8FTN",
          "C082BTHU9TQ",
          "C8DTTL8HF",
          "C01HC7EB8MN",
          "CA6ESD751",
          "CC1SD0ULB",
          "C065SBQ6EN4",
          "C09932CN3MY",
          "C01LDPT8LUA",
          "C01M44KNW3E",
          "C01QZTHL60P",
          "C03RFK9C3V0",
          "C0201CBD7M5",
          "C04TEDWEW2F",
          "C084U5DU9FX",
          "C01FB307Z7A",
          "C01KYUEK8A0",
          "C061ZMUE0JE",
          "C0QFL2EG0",
          "C03E7DB63K7",
          "C8EBDJM6X",
          "CCWCNA4DT",
          "CHS0ZS9B4",
          "CGVPKJ732",
          "C02HK6M20N7",
          "C03AT6W5U23",
          "C04SMCN8ETU",
          "CQP5KPB60",
          "C024BE8HB",
          "C087L0BE52B",
          "C08FVMNC36E",
          "C08NU6L1YKU",
          "C04MBBH3B2M",
          "C072T3MQ7NV",
          "C01958PQLUB",
          "C03EGFBHWNM",
          "C068QLRFP0W",
          "C01CLM1EZ1V",
          "C08EV43AGF4",
          "CGCVB9LBA",
          "C14LGSMHB",
          "C042F6AS3ED",
          "C01FA1FMGE9",
          "C06Q8SG1GN4",
          "C068ULXG15J",
          "C03959G6718",
          "C024BE93G",
          "CHDULUHDJ",
          "C7KSPSQP2",
          "C7L183M8R",
          "C7LJ29DLL",
          "C5JN6JH7V",
          "C01G0066PL5",
          "C29KY5CMV",
          "C9TA80XUP",
          "C02FZ60GEEN",
          "C33BDQMK4",
          "C05GDTBHB44",
          "CFM5NR6RJ",
          "CDY54152N",
          "C0412DW4256",
          "C0KM5UGQY",
          "C043R7PTFL0",
          "C029SDL4C2X",
          "C03JUAARF7B",
          "CCXL18TEJ",
          "C8EHFKAAZ",
          "CUXL4CMT3",
          "C47QFS3TK",
          "C08NCU46UAK",
          "C098LCR8RMY",
          "C098GSKNCUB",
          "C09D80YVCLU",
          "CUV8P3GUA",
          "C01S4NFA3GF",
          "C07JR2BJ2NT",
          "C042YPVQ8GH",
          "C08G35DERCM",
          "C046R2GDVAS",
          "C02M3FS4UR0",
          "C0548D17EAW",
          "CFLUAS23T",
          "C8EJARYJ1",
          "CCL9SK5Q9",
          "C024F46L2",
          "C1BPTHK5K",
          "C073E5Z23C3",
          "C08BKNKDG8K",
          "C07DPRS18DD",
          "C05L7EFE3AM",
          "C06H8LNLBA4",
          "C061G21P2F6",
          "C07SW0FPA8K",
          "C073TT06WBV",
          "C05NT45EBDZ",
          "C076UEAQM0C",
          "C070E9ZHZPT",
          "C06AM4DK76D",
          "C06UCSS8LRE",
          "C06HQHKJFT4",
          "C08A2CBMNP4",
          "C07DK94S47M",
          "C0934B8R804",
          "C08SZDF4M5X",
          "C04ALFD6P28",
          "C07ASPZJAK0",
          "C07FY60LQRF",
          "C04KB13FUBC",
          "C08HK3KKMHP",
          "C072X8D6FEC",
          "C07BAS26PQR",
          "C7MD7J822",
          "C024GESHU",
          "C0DHA7FFU",
          "C052LEW782V",
          "C9DSZSZ0B",
          "C091ZQU5QH5",
          "C046CFRQXQ8",
          "C8EAJR7QB",
          "C04LR286NKC",
          "C099DH1U0",
          "CCVF0KL69",
          "C071ANXT0UV",
          "C8FP8B22H",
          "CK9N36JT1",
          "C02D6MUS0",
          "C08GKR4A5TL",
          "C04PJ6DJN",
          "C0B383Z0R",
          "C7MK480TH",
          "C09LZHR2B",
          "C8E0F37V3",
          "C12PM0VL7",
          "C030HEJEM",
          "CAX9P5NPJ",
          "C025EBLUS00",
          "C33FDKL1E",
          "C7LLR076H",
          "C026VDP6MCK",
          "C01GWEFD318",
          "C60LC051V",
          "C04TEE11DKM",
          "CTH8M07B3",
          "C01E1DM69SA",
          "C078FAL43QF",
          "CH64JK4AY",
          "C059B1HTZ3M",
          "C05T61BC7MX",
          "C02L2FW096Z",
          "C01GRBW3J92",
          "CEL19537T",
          "C8EHE1SUD",
          "C8F1TFHCZ",
          "C09DLP4RR26",
          "CU7B8BR9A",
          "C7LLBTNJ1",
          "C01KGNKUXN3",
          "C02N18HC1L3",
          "C022VMCAVM0",
          "C06DYEJGKRU",
          "C04PXU5HD7B",
          "C0329GFJM",
          "C02TG1SMJHX"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L02NG34JYS3": {
      "channelsAssociatedOrdered": [
          "C0K5ZR8HK"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": true
  },
  "L02MEMFRT99": {
      "channelsAssociatedOrdered": [
          "D0313C1FF1B",
          "C09EA03J685",
          "C09E3U7UK98",
          "D09E6GT74UA",
          "D09E3AKDFFY",
          "D09E650C95G",
          "D09EZFESUTS",
          "D09F697CNU8",
          "D09E9UVLS4C",
          "D09DR426QUX",
          "D02J8JNR8H1"
      ],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  },
  "L08HEDZ8EM8": {
      "channelsAssociatedOrdered": [],
      "channelsAssociatedSet": {},
      "isCollapsed": false
  }
};

for (const section of Object.values(sections)) {
	section.channelsAssociatedSet = new Set(section.channelsAssociatedOrdered);
	
	const map = new Map();
	section.channelsAssociatedOrdered.forEach(id => {
		map.set(id, true);
	})
	section.channelsAssociatedMap = map;
}

const collapsedIds = Object.values(sections).reduce(
	(acc, section) => section.isCollapsed
		? acc.union(new Set(section.channelsAssociatedOrdered))
		: acc,
	new Set()
);

Test runner

Ready to run.

Testing in
TestOps/sec
Array.includes
Object.values(sections).some((section) =>
	section.isCollapsed && section.channelsAssociatedOrdered.includes(selectedId));
ready
Set.has
Object.values(sections).some((section) =>
	section.isCollapsed && section.channelsAssociatedSet.has(selectedId));
ready
Map.get
Object.values(sections).some((section) =>
	section.isCollapsed && section.channelsAssociatedMap.get(selectedId));
ready
collapsedIds.has
collapsedIds.has(selectedId);
ready

Revisions

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