[
{
"id": 1,
"name": "sys",
"title": "系统设置",
"type": 1,
"status": 1,
"condition": "",
"pid": 0,
"level": 0,
"sort": 7,
"icon": "fa-gear",
"children": [
{
"id": 11,
"name": "conf/lst",
"title": "配置列表",
"type": 1,
"status": 1,
"condition": "",
"pid": 1,
"level": 1,
"sort": 50,
"icon": null,
"children": [
{
"id": 12,
"name": "conf/add",
"title": "添加配置",
"type": 1,
"status": 1,
"condition": "",
"pid": 11,
"level": 2,
"sort": 50,
"icon": null,
"children": []
},
{
"id": 13,
"name": "conf/del",
"title": "配置删除",
"type": 1,
"status": 1,
"condition": "",
"pid": 11,
"level": 2,
"sort": 50,
"icon": null,
"children": []
},
{
"id": 14,
"name": "conf/edit",
"title": "配置编辑",
"type": 1,
"status": 1,
"condition": "",
"pid": 11,
"level": 2,
"sort": 50,
"icon": null,
"children": []
}
]
},
{
"id": 9,
"name": "conf/conf",
"title": "配置项",
"type": 1,
"status": 1,
"condition": "",
"pid": 1,
"level": 1,
"sort": 50,
"icon": null,
"children": []
}
]
},
{
"id": 15,
"name": "admin",
"title": "管理员",
"type": 1,
"status": 1,
"condition": "",
"pid": 0,
"level": 0,
"sort": 50,
"icon": "fa-user",
"children": [
{
"id": 16,
"name": "admin/lst",
"title": "管理员列表",
"type": 1,
"status": 1,
"condition": "",
"pid": 15,
"level": 1,
"sort": 50,
"icon": null,
},
{
"id": 27,
"name": "authrule/lst",
"title": "权限列表",
"type": 1,
"status": 1,
"condition": "",
"pid": 15,
"level": 1,
"sort": 50,
"icon": null,
},
{
"id": 30,
"name": "authgroup/lst",
"title": "用户组",
"type": 1,
"status": 1,
"condition": "",
"pid": 15,
"level": 1,
"sort": 50,
"icon": null,
}
]
}
]
Le json ci-dessus est un tableau multidimensionnel. Je souhaite utiliser la boucle js for pour afficher le tableau sous les enfants, mais je ne sais pas pourquoi il ne peut pas être affiché et aucune erreur n'est signalée
.$.ajax({
type: "get",
url: "/admin/index/menu",
async: true,
dataType: 'json',
success: function(res) {
for(var i = 0; i < res.length; i++) {
console.log(res[i].children); //这个能输出
for (var a=0;a<res[i].children;a++) {
console.log(res[i].children[a]); //这个不能输出,也没有报错
}
}
}
})
Excusez-moi, qu'est-ce qui ne va pas ?
a<res[i].children
->a<res[i].children.length
Même si je suis en retard, je pense que je peux ajouter autre chose
De manière générale, je préfère personnellement utiliser
foreach
traversal, en JS (prendre le code de cet exemple comme exemple)La fonction flèche d'es6 est utilisée ci-dessus. Si vous souhaitez l'écrire en es5, changez-la simplement en expression de fonction
.Cela devrait être une récursion. Il est recommandé de comprendre la connaissance de la récursion
Parcours récursif des nœuds