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

153
Vistas
Poner valor dinámico dentro de una cadena de valor de objeto

Soy nuevo en JS y trato de obtener valores de una matriz de objetos.

 var jsonData = [{ "role": "abc", "nextrole": "def", "goals": { "goal1": "goal 1", "goal2": "goal 2", "goal3": "goal `${a}`" } }, { "role": "def", "nextrole": "ghi", "goals": { "goal1": "goal 4", "goal2": "goal 5", "goal3": "goal `${a}`" } }, { "role": "ghi", "nextrole": "jkl", "goals": { "goal1": "goal 7", "goal2": "goal 8", "goal3": "goal `${a}`" } }]; var result2 = jsonData.find(obj => { return obj.role === "def" }); var a = "any String"; Object.keys(result2.goals).forEach(function(key) { $('ul').append(`<li>${result2.goals[key]}</li>`); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h2></h2> <ul></ul>

Como puede ver en el ejemplo dado, puedo obtener el objeto en función del rol definido. pero como insertar un valor dinámico o cualquier otro valor variable dentro del objetivo 3, ${a}; si esta no es la forma correcta de hacerlo, por favor sugiérame una mejor. No soy capaz de encontrar una manera de hacerlo. cualquier ayuda sería apricated.

Gracias

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede tener los valores como funciones que pueden aceptar un parámetro y devolver una cadena:

 const jsonData = [ { "role": "abc", "nextrole": "def", "goals": { "goal1": () => "goal 1", "goal2": () => "goal 2", "goal3": (a) => `goal ${a}` } }, { "role": "def", "nextrole": "ghi", "goals": { "goal1": () => "goal 4", "goal2": () => "goal 5", "goal3": (a) => `goal ${a}` } }, { "role": "ghi", "nextrole": "jkl", "goals": { "goal1": () => "goal 7", "goal2": () => "goal 8", "goal3": (a) => `goal ${a}` } } ]; const result2 = jsonData.find(({ role }) => role === "def"); const a = "any String"; Object.keys(result2.goals).forEach(key => { $('ul').append(`<li>${result2.goals[key](a)}</li>`); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h2></h2> <ul></ul>

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda