在原版中将对象列表打印为链接 javascript

printing list of objects as links in vanilla javascript

我正在尝试使用 vanilla javascript 打印对象列表。在我的循环中,只有最后一项被打印出来。我该如何解决?我尝试将每个 li 附加到一个变量(节点),然后将其附加到我的 ul id,但这没有用。这是 fiddle:

https://codepen.io/anon/pen/LLgZzw?editors=1011

HTML

<ul id="list"></ul>

JS

let list = document.getElementById('list');

let obj = {
  "codepen": 'www.codepen.io',
  "jsfiddle": 'www.jsfiddle.com',
  "jsbin": 'www.jsbin.com'
};
function printList(obj){
  for(let key in obj){
    console.log(key);
    list.innerHTML = `<li><a href= ${obj[key]}>${key}</a></li>`;
  }
  //list.appendChild(li);
}
printList(obj);

您需要将值连接到 innerHTML.In 您的情况它始终是将在 innerHTML

中设置的迭代的最后一个值

let list = document.getElementById('list');

let obj = {
  "codepen": 'www.codepen.io',
  "jsfiddle": 'www.jsfiddle.com',
  "jsbin": 'www.jsbin.com'
};

function printList(obj) {
  for (let key in obj) {
    console.log(key);
    //Changed here. added + before ==.It will concat the current value with previous value
    list.innerHTML += `<li><a href= ${obj[key]}>${key}</a></li>`;
  }
  //list.appendChild(li);
}
printList(obj);
<ul id="list"></ul>