如何在javascript中递归循环json对象数据键。
请检查以下json对象:
{
"data":[
{
"label": "Test-1",
"data": "Test-1",
"updated_at": "2020-3-23",
"created_at": "2020-3-19",
"expanded": true,
"children": [
{
"label": "Test-1.1",
"data": "Test-1.1",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true,
"children": [
{
"label": "Test-1.1.1",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true,
"children": [
{
"label": "Test-1.1.1.1",
"data": "Test-1.1.1.1",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true
}
]
},
{
"label": "Test-1.1.2",
"data": "Test-1.1.2",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true
},
{
"label": "Test-1.1.3",
"data": "Test-1.1.3",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true
}
]
}
]
},
{
"label": "Test-2",
"data": "Test-2",
"updated_at": "2020-3-19",
"created_at": "2020-3-19",
"expanded": true
}
]
}
这里是打印标签的示例recur
函数。
const items = {
data: [
{
label: "Test-1",
data: "Test-1",
updated_at: "2020-3-23",
created_at: "2020-3-19",
expanded: true,
children: [
{
label: "Test-1.1",
data: "Test-1.1",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true,
children: [
{
label: "Test-1.1.1",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true,
children: [
{
label: "Test-1.1.1.1",
data: "Test-1.1.1.1",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true
}
]
},
{
label: "Test-1.1.2",
data: "Test-1.1.2",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true
},
{
label: "Test-1.1.3",
data: "Test-1.1.3",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true
}
]
}
]
},
{
label: "Test-2",
data: "Test-2",
updated_at: "2020-3-19",
created_at: "2020-3-19",
expanded: true
}
]
};
const recur = arr => {
arr.forEach(item => {
console.log(item.label);
if (item.children) {
recur(item.children);
}
});
};
recur(items.data);
这个类被设计来迭代WordPress菜单结构(嵌套数组/对象)以产生一个完成的菜单。虽然我的数据来源是WordPress,但我觉得这个问题属于SO而不是WP. SO,因为这个问题更植根于PHP(适用于任何试图递归的人)。 出于某种原因,我在层次结构中看到了重复的结果。另外,我注意到某些HTML元素没有正确关闭。看起来我已经正确地嵌套了所有内容,但结果就是您在这里看到的。 为了帮助调试,我添加了一些
如果以前有人问过这个问题,我很抱歉,但我找不到答案。如何循环使用嵌套数组的数组,并在控制台中打印项目出现的实例数? 因此应该打印出名称“bob”的数字2,因为“bob”在数组中出现两次。 这是我的阵列和我目前拥有的:
我正在练习并试图写一个递归数组扁平化函数。代码在这里: 问题是,如果我将一个数组或嵌套数组传递给它,就会出现“超出最大调用堆栈大小”错误。我做错了什么?
if语句 (实际上是if表达式) OCaml有两种if语句: if boolean-condition then expression if boolean-condition then expression else other-expression 不同于传统的语言,if语句是表达式。它们更类似于C类语言中的三元操作符?: 而不是你所熟悉的if语句。 下面是if语句的简单例子: # le
所以我想看看有没有办法循环这些数组,看看哪一个与main函数中提供的{6,1,1,6,3,1,4,7,7,1}的数组匹配。
问题内容: 是否每个递归函数都有一个等效的for循环?(两者都达到相同的结果)。 我有这个递归函数: 假设单词是Set [],并且单词[i] =单词长度为i的集合。 我想做的是:使用一个单词(例如,“ stackoverflow”,没有空格)启动递归,我试图查找该单词是否可以切成子单词(“ stack”,“ over”,“ flow”) ..子词的最小长度为3,并且假设长度为i的子词在Set wo