|Usa keyof y genéricos para deepGet seguroDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Usa keyof y genéricos para deepGet seguro

Difícil30 pts
ruleRestricciones
  • radio_button_unchecked
    La función debe usar parámetros de tipo genéricos
  • radio_button_unchecked
    Usa 'extends keyof' para restringir las claves

Enunciado

Implementa la función deepGet<T, K1 extends keyof T, K2 extends keyof T[K1]> que accede de forma segura a una propiedad anidada de un objeto usando dos claves tipadas.

Si alguna clave no existe o el valor intermedio es null/undefined, retorna undefined.

// Ejemplos de uso
const user = {
  profile: { name: "Ana", age: 25 },
  settings: { theme: "dark", lang: "es" },
};

deepGet(user, "profile", "name");      // "Ana"
deepGet(user, "settings", "theme");    // "dark"
deepGet(user, "profile", "age");       // 25

Instrucciones:

  1. Declara la función con tres parámetros de tipo: T, K1 extends keyof T y K2 extends keyof T[K1].
  2. El parámetro obj es de tipo T, key1 de tipo K1 y key2 de tipo K2.
  3. El tipo de retorno debe ser T[K1][K2] | undefined.
  4. Si obj[key1] es null o undefined, retorna undefined; de lo contrario retorna obj[key1][key2].
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 30 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Usa keyof y genéricos para deepGet seguro — Difícil | Coding Challenges · Coding Challenges