Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodejs循环中创建多维数组?_Node.js - Fatal编程技术网

Node.js 如何在nodejs循环中创建多维数组?

Node.js 如何在nodejs循环中创建多维数组?,node.js,Node.js,我想要这样:- Array ( [sys_dropdowns] => Array ( [branchs] => Array ( [branchs.branchs_id] => Array ( [

我想要这样:-

Array
    (
        [sys_dropdowns] => Array
            (
                [branchs] => Array
                    (
                        [branchs.branchs_id] => Array
                            (
                                [permission] => %BRANCHS_PRIVILEGE
                                [no_permission] => 
                                [sql_where_clause] => 
                            )
    
                    )
            )
    
        [sys_master_grid] => Array
            (
                [draft_voucher_list] => Array
                    (
                        [acc_voucher_main.branchs_id] => Array
                            (
                                [permission] => %BRANCHS_PRIVILEGE
                                [no_permission] => 
                                [sql_where_clause] => 
                            )
    
                    )
    
            )
    
        )
    
    )
我正在尝试:-

var all_permission = []; 
    sql_data.forEach(function(val) {
        if (all_permission[val.event_ref] === undefined) all_permission[val.event_ref] = [];
        if (all_permission[val.event_ref][val.event_slug] === undefined) all_permission[val.event_ref][val.event_slug] = [];
        all_permission[val.event_ref][val.event_slug][val.event_slug_key] = {
            permission:val.permission,
            no_permission:val.no_permission,
            sql_where_clause:val.sql_where_clause
        }
    });
但当我返回all_permission变量时,它的send空白数组,而当我控制台all_permission时,它正好显示了我想要的内容。若我推单值,那个么也会发送完美的结果,但当我尝试创建多值时,就会出现这个问题。
请帮助我如何返回多维数组?

你在
数组
对象
之间搞混了。试试这样的

var all_permission = {}; 
sql_data.forEach(function(val) {
    if (type of all_permission[val.event_ref] === 'undefined') all_permission[val.event_ref] = {};
    if (typeof all_permission[val.event_ref][val.event_slug] === 'undefined') all_permission[val.event_ref][val.event_slug] = {};
    all_permission[val.event_ref][val.event_slug][val.event_slug_key] = {
        permission:val.permission,
        no_permission:val.no_permission,
        sql_where_clause:val.sql_where_clause
    }
});

伟大的谢谢兄弟@Foysal Nibir。