gpt4 book ai didi

javascript - jquery 循环 (.each)

转载 作者:行者123 更新时间:2023-11-28 01:59:48 25 4
gpt4 key购买 nike

我有一个如下所示的对象:

Node{
name: "root",
level: 0,
children: Array[14],
parent: null,
id: 0
}

Node.children内部...

Node.children[
{
name: "child1",
level: 1,
children: Array[1],
parent: root,
id: 1
},
{
name: "child2",
level: 1,
children: Array[1],
parent: root,
id: 2
},
{
name: "child3",
level: 1,
children: Array[2],
parent: root,
id: 3
},
]

在 Node.children[1].children 内部 ...

Node.children[1].children[
{
name: "child1-1",
level: 2,
children: Array[0],
parent: child1,
id: 4
}
]

我需要的是循环遍历 Node 对象并尝试将每个“id”与给定的值进行匹配。例如...

$.each(Node, function(i, nodes){
$.each(nodes, function (i2, nodes2){
if (nodes2.id == 5){
//do something
}
})
})

最佳答案

您需要一个可以递归调用的函数:

function checkNode(node, action, id) {
if (node.id === id)
action(node);

var kids = node.children || [];

$.each( kids,
function(i,n) {
checkNode(n, action, id);
}
);
}

称为:

checkNode( 
node,
function(n) { alert(n.name); },
5
);

关于javascript - jquery 循环 (.each),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598625/

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