使用递归构建分层属性列表
循环复杂的嵌套对象来构造分层属性列表是 JavaScript 中的一项常见任务。给定一个具有潜在复杂结构的对象,目标是生成反映该对象结构的属性键列表。
为了解决这个问题,我们可以利用遍历该对象的递归函数。这是所提供函数的改进版本:
function iterate(obj, stack) { for (var property in obj) { if (obj.hasOwnProperty(property)) { if (typeof obj[property] == "object") { iterate(obj[property], stack + '.' + property); } else { console.log(property + " " + obj[property]); $('#output').append($("<div>").text(stack + '.' + property)); } } } }
在此函数中,我们维护一个名为“stack”的字符串,它表示对象内的当前路径。当我们遇到一个子对象时,我们将其属性追加到堆栈中并继续递归。对于原始属性,我们记录它们的路径并将其附加到 div 中以进行可视化。
通过使用原始对象和空初始堆栈调用“迭代”函数,我们可以递归地构建所需的属性键分层列表.
以上是如何在 JavaScript 中递归创建分层属性列表?的详细内容。更多信息请关注PHP中文网其他相关文章!