Todos los retos

TypeScript · fácil

No era una copia

#21

Situación

La API del almacén prometía una foto fija, pero quien llama puede hacer push en el array recibido y añadir "leak" al stock de producción. getStock está exponiendo la estantería real en vez de una copia.

Objetivo

Devuelve una lista independiente para cada estantería. Aunque quien llama haga push de "leak", un getStock("desk") nuevo debe seguir siendo ["pen","ink"] (length 2).

El repo al empezar

workspace/
└── src/
    └── inventory.ts   (returns the live stock array)

Checks que pondrás en verde

  • exporta getStock
  • la estantería desk devuelve pen e ink
  • otra estantería devuelve lo suyo
  • el stock sigue length 2 tras push

Conceptos

arraysmutation

Juégalo en tu terminal

Con sharpen instalado, este comando abre exactamente este reto en tu arena local:

sharpen 21

¿Primera vez? La instalación completa está justo debajo.

Cómo jugar

  1. 1 Instala Claude Code si aún no lo tienes: claude.com/claude-code
  2. 2 Instala sharpen desde npm:
    npm install -g @juanwmedia/sharpen
  3. 3 Y lánzala; la arena se abre en tu navegador:
    sharpen 21
  4. o O pruébala sin instalar nada:
    npx @juanwmedia/sharpen 21
  5. 4 Y para actualizar cuando salga una versión nueva:
    sharpen update