Tengo un objeto JavaScript que contiene términos y definiciones. Quiero crear una función que muestre/imprima la clave, los pares de valores en una página web.
Por ejemplo:
let dict = { term1: "definition", term2: "definition", term3: "definition", term4: "definition" }Salida ideal:
término1: definición
term2: definición
term3: definición
term4: definición
Actualmente estoy usando este código:
function viewAll() { var json = JSON.stringify(dict,null,3); document.getElementById("output").innerText = json; }que salidas:
{ term1: "definition", term2: "definition", term3: "definition", term4: "definition" } Está bien, pero me gustaría eliminar los caracteres especiales ( {", )
Utilice Object.entries y map para dar formato a los datos de la forma en que desea mostrarlos.
let dict = { term1: "definition 1", term2: "definition 2", term3: "definition 3", term4: "definition 4" } const str = Object.entries(dict).map(([key, value]) => `${key}: ${value}`).join("<br/>"); document.getElementById("out").innerHTML = str; <div id="out"></div>Parece que realmente quieres una lista de definiciones
let dict = { term1: "definition 1", term2: "definition 2", term3: "definition 3", term4: "definition 4" } const str = Object.entries(dict).map(([key, value]) => `<dt>${key}</dt><dd>${value}</dd>`).join(''); document.getElementById("out").innerHTML = str; dt::after { content: ":" } dt { display: inline-block; } dd { display: inline; } dd:after { content: ''; display: block; } <dl id="out"></dl>