• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

74
Vistas
pasar la clave de propiedad para el objeto anidado a una función para devolver ese valor de propiedad

tengo un objeto anidado como este

 const sections = { text : {id : 1 , text: 'something' }, link : {id : 2 , text: 'something' , 'href' : 'http://example.com' }, social : { telegram : {id : 3 , text : 'my telegram' , 'address' : '@mytelegram'} , twitter : {id : 4 , text : 'my twitter' , 'address' : '@mytwitter'} , } }

quiero tener una función que me dé cada sección pasándole la clave de propiedad

 function getSection(key ){ console.log(sections[key]); }

esto funciona para text y link pero si quiero social.telegram esto no funcionará, ¿hay alguna forma de resolver esto sin algún tipo de bucle de secciones?

------------- editar ------------------------

también, ¿qué pasa si quiero establecer el valor para el objeto de las sections ?

algo como

 function setSectionText(key , newText) { sections[key].text = newText ; }
almost 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debe separar la clave y obtener los objetos externos e internos hasta obtener el resultado deseado.

 function getSection(key) { return key .split('.') .reduce((o, k) => o?.[k], sections); } const sections = { text: { id: 1, text: 'something' }, link: { id: 2, text: 'something', href: 'http://example.com' }, social: { telegram: { id: 3, text: 'my telegram', address: '@mytelegram' }, twitter: { id: 4, text: 'my twitter', address: '@mytwitter' } } }; console.log(getSection('social.telegram')); getSection('social.telegram').id = 42; console.log(sections);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

almost 3 years ago · Santiago Trujillo 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda