gpt4 book ai didi

javascript - jQuery如何确定循环中的递归级别

转载 作者:行者123 更新时间:2023-11-28 12:45:09 25 4
gpt4 key购买 nike

我有以下代码:

    $(document).ready(function() {
var ul = $("<div>");
ul.addClass("menu").appendTo('.menuwrapper');
});
function loop(obj, ul) {
$.each(obj, function(key, val) {
if($.isPlainObject(val)) { // object, call recursively

//if depth = 1 then { } else { }
var ul2 = $("<ul>").addClass('hide').appendTo(
$("<div>").append(key).appendTo(ul)
);


loop(val, ul2);
} else {
$("<li>", {
class: 'innerli'
}).text(val).appendTo(ul);
}
});
}

$.getJSON('test.json', function(data) {
var ul = $(".menu");
loop(data, ul);
});

test.json 示例:

{"Dashboard":{"Submenu1":"Submenu1","Submenu2":"Submenu2"},"About us":"About us","Services":{"Service1":"Service1","Service2":"Service2"}}

我想在循环中添加一个条件,表示如果这是对象的 x 级别,则执行“某事”(我已在代码中向我正在讨论的部分添加了注释)。

最佳答案

 function loop(obj, ul,depth) {
$.each(obj, function(key, val) {
if($.isPlainObject(val)) { // object, call recursively

//if depth = 1 then { } else { }
var ul2 = $("<ul>").addClass('hide').appendTo(
$("<div>").append(key).appendTo(ul)
);


loop(val, ul2,(depth+1));
} else {
$("<li>", {
class: 'innerli'
}).text(val).appendTo(ul);
}
});
}


$.getJSON('test.json', function(data) {
var ul = $(".menu");
loop(data, ul, 0);
});

这应该告诉您每个递归级别的深度。

关于javascript - jQuery如何确定循环中的递归级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609919/

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