tengo un objeto
let data = { a: 1, b: 2, c: { abc: "ak", bcd: "gh", cfv: "ht" } }entonces tengo variables que necesito mostrar con estos valores de objeto
let abc = "first 1", bcd="sec2", cfv="third3" , def="fourth 4", tdf = "fifth 5";Ahora el Objeto vendrá en la llamada API, puede ser cualquiera de estas variables.
¿Cómo puedo hacer coincidir el nombre de la variable con el objeto data.c. (clave de objeto) y concatenar su valor?
por ejemplo, la salida debería ser Como tenemos (abc, bcd, cfv) como nuestra clave de objeto, entonces la salida sería
first 1ak ==> that is the value of (abc + data.c["abc"]) sec2gh ==> that is the value of (bcd + data.c["bcd"]) third3ht ==> that is the value of (cfv + data.c["cfv"])Intenté usar el método Object.keys(), por lo que a partir de este método obtendremos las claves del objeto en una matriz, entonces, ¿cómo puedo hacer coincidir con el nombre de la variable: Object.keys(data.c); ==> ["abc", "bcd", "cfv"] (Después de esto, ¿cómo puedo proceder para hacer coincidir la variable y mostrar sus valores?)
¿Debo recorrer el objeto que (data.c)?
Por favor ayúdenme dando algunas ideas para lograr esta implementación. gracias
Si es posible modificar el formato de sus variables abc , bcd , etc. para que sean las propiedades de un objeto, entonces este problema se vuelve trivial. Puede usar flatMap() para crear una nueva matriz de valores de salida al vincular las propiedades de los dos objetos de destino, así:
let values = { abc: "first 1", bcd: "sec2", cfv: "third3", def: "fourth 4", tdf: "fifth 5" } let data = { a: 1, b: 2, c: { abc: "ak", bcd: "gh", cfv: "ht" } } let output = Object.keys(values).flatMap(k => data.c.hasOwnProperty(k) ? values[k] + data.c[k] : []); console.log(output);