gpt4 book ai didi

javascript - 递归Javascript

转载 作者:行者123 更新时间:2023-11-29 15:03:44 24 4
gpt4 key购买 nike

给定一个数据结构如下:

var endpoints = {
// top level
"orders": {
url: "/orders",
// child
"sub-level": {
url: "/sublevel"
}
},
// users
"users": {
url: "/users",
// child
"another-sublevel": {
url: "/another-sublevel"
}
}
}

我如何在每次遇到 URL 时递归生成一个“Route”对象?我还需要跟踪 parent 的路线,所以:

var Route = function(name, url, parents) {
}

名称是关键(例如,顶级中的“订单”或“用户”)url 是显而易见的,“父级”是我们在深入每个级别时生成的某种堆栈。

我在写这篇文章时遇到了一些麻烦,我遇到了变量范围/通过引用与值传递属性以及各种其他怪异问题。

数据结构也不固定,但需要包含该信息。

最佳答案

举个例子

   function recurse(obj, parents){
var prop;
parents = parents || [];
for(prop in obj){
if(typeof(obj[prop]) === 'string' && prop === 'url'){
//do something with url
console.log(obj[prop], parents.join('->'));
}else{
parents.push(prop);
recurse(obj[prop], parents);
parents = [];
}
}
}

recurse(endpoints);

关于javascript - 递归Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6054881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com