mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-02-13 16:35:44 +01:00
- Fix syntax errors in skills markdown files (.github/skills, .opencode/skills) - Change typescript to tsx for code blocks with JSX - Replace ellipsis (...) in array examples with valid syntax - Separate CSS from TypeScript into distinct code blocks - Convert JavaScript object examples to valid JSON in docs - Fix enum definitions with proper comma separation
25 lines
530 B
Markdown
25 lines
530 B
Markdown
---
|
|
title: Use Set/Map for O(1) Lookups
|
|
impact: LOW-MEDIUM
|
|
impactDescription: O(n) to O(1)
|
|
tags: javascript, set, map, data-structures, performance
|
|
---
|
|
|
|
## Use Set/Map for O(1) Lookups
|
|
|
|
Convert arrays to Set/Map for repeated membership checks.
|
|
|
|
**Incorrect (O(n) per check):**
|
|
|
|
```typescript
|
|
const allowedIds = ["a", "b", "c"];
|
|
items.filter((item) => allowedIds.includes(item.id));
|
|
```
|
|
|
|
**Correct (O(1) per check):**
|
|
|
|
```typescript
|
|
const allowedIds = new Set(["a", "b", "c"]);
|
|
items.filter((item) => allowedIds.has(item.id));
|
|
```
|