javascript - js 多维数组的问题

查看:63
本文介绍了javascript - js 多维数组的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

[
    {
        "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,
            }
        ]
    }
]

上面的json是多维数组,我想用js for循环把children下面的数组输出,但不知道为什么输出不了,也没报错.

$.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]);    //这个不能输出,也没有报错
            }
        }
    }
})

请问是哪里错了?

解决方案

$.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.length; a++) { // <-- 此处少了.length,数字和对象比较大小,结果为false,第二个条件一次也满足不了
                console.log(res[i].children[a]);
            }
        }
    }
}

这篇关于javascript - js 多维数组的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆