const cliente = { nome: "Andre", idade: 36, cpf: "123.456.789.10", email: "andre@gmail.com" } const chaves = ["nome", "idade", "cpf", "email"]; const clienteString = chaves.reduce((acum, curr) => acum += curr + ":" + cliente[curr] + ";") console.log(clienteString); la salida actual es: **nome**idade:36;cpf:123.456.789.10;email:andre@gmail.com;
el valor de la clave "nombre:" no se considera en la cadena
debería generar esto: nome:Andre;idade:36;cpf:123.456.789-10;email:andre@gmail.com;
¿Qué estoy haciendo mal?
Esta es una versión más simple que hace lo que quieres:
const cliente = { nome: "Andre", idade: 36, cpf: "123.456.789.10", email: "andre@gmail.com", }; console.log( Object.entries(cliente) .map(([key, value]) => `${key}:${value};`) .join("") ); Object.entries devuelve una matriz de ["key", "value"] . Luego map eso y lo convertimos en una matriz de "key:value;" . Luego join la matriz de "key:value;" en una cadena.