我试图以递归方式对键的对象进行排序:值。它似乎工作,至少对控制台。代码获取对象并迭代键值对。如果它找到另一个对象,它会调用自己迭代该对象。我遇到的问题是后续调用似乎没有产生任何html,但它确实显示了控制台中的键值对。这是我第一次尝试递归,我不确定它是否是我宣布变量的方式,或者我是否错过了递归的工作方式。
ndmin=2
答案 0 :(得分:0)
使用返回值:
const getKeyValue = (obj) => {
let html = '<ul>';
for (let key in obj) {
let value = obj[key]
if (!isObject(value)) {
html += '<li>' + key + ":" + value + "</li>";
} else {
var innerValue = getKeyValue(value);
// ^^^^^^^^^^^^^^^^
html += '<li>' + key + ":"+ innerValue + "</li>";
// ^^^^^^^^^^
}
}
html += "</ul>";
return html;
// ^^^^^^
}
然后做
s('cards').innerHTML = getKeyValue(conditionReport);