AgentSkillsCN

js_index_maps

从Vercel导入技能:js_index_maps

SKILL.md
--- frontmatter
description: Imported skill js_index_maps from vercel
name: js_index_maps
signature: 5df1bdc2cfabb2c98abd55d26762e5c18189535c2e686184f426082e62920391
source: /a0/tmp/skills_research/vercel/skills/react-best-practices/rules/js-index-maps.md

title: Build Index Maps for Repeated Lookups impact: LOW-MEDIUM impactDescription: 1M ops to 2K ops tags: javascript, map, indexing, optimization, performance

Build Index Maps for Repeated Lookups

Multiple .find() calls by the same key should use a Map.

Incorrect (O(n) per lookup):

typescript
function processOrders(orders: Order[], users: User[]) {
  return orders.map(order => ({
    ...order,
    user: users.find(u => u.id === order.userId)
  }))
}

Correct (O(1) per lookup):

typescript
function processOrders(orders: Order[], users: User[]) {
  const userById = new Map(users.map(u => [u.id, u]))

  return orders.map(order => ({
    ...order,
    user: userById.get(order.userId)
  }))
}

Build map once (O(n)), then all lookups are O(1). For 1000 orders × 1000 users: 1M ops → 2K ops.