Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
Matriz mecanografiada de matrices de matrices: proteger de indefinido

Estoy analizando un objeto complejo en Typescript, así que tenga algo como:

 const a = reply['price']['value']['total']['value'];

y me gusta asegurarme de que todos los elementos estén definidos en la cadena, de lo contrario, debería establecer a=0 y no desencadenar una excepción si algunas de las claves encadenadas no están definidas.

¿Cuál sería la sintaxis apropiada para eso?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si está utilizando JS moderno, puede usar la fusión nula y el encadenamiento opcional

 const a = reply?.['price']?.['value']?.['total']?.['value'] ?? 0;

Trate de evitar el uso de || en lugar de ?? , porque eso le dará 0 , si el valor final es un valor falso, como 0 o false .

Si no desea utilizar la fusión nula, puede hacer esto, que logra lo mismo.

 const a = reply?.['price']?.['value']?.['total']?.['value'] ? reply['price']['value']['total']['value'] : 0;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si no puede usar la respuesta de @nullptr, sugiero crear una función para ese propósito:

 function getObjectNestedValue2(obj, keys, defaultValue) { let currObjOrValue = obj; keys.forEach(key => { if (!currObjOrValue.hasOwnProperty(key)) { currObjOrValue = defaultValue; return; } currObjOrValue = currObjOrValue[key]; }); return currObjOrValue; }

Entonces lo llamas así:

 const a = getObjectNestedValue(reply, ['price', 'value', 'total', 'value'], 0);

Salud

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda