Javascript JS:搜索未知深度的多维数组的最佳方法是什么?

Javascript JS:搜索未知深度的多维数组的最佳方法是什么?,javascript,arrays,sql-server,Javascript,Arrays,Sql Server,我在Javascript中有一个多维数组,作为解析SQL代码的d3可视化的一部分。它遵循以下结构。在初始级别之外,它以常规方式增长,即字段名位于位置0,别名位于位置1,子项位于位置2: var matrix2 = []; for (var i=0; i<10; i++) { matrix2[i]=[]; matrix2[i][0] = 'tableName'+i; matrix2[i][1] = 'tableAlias'+i; matrix2[i][2]

我在Javascript中有一个多维数组,作为解析SQL代码的d3可视化的一部分。它遵循以下结构。在初始级别之外,它以常规方式增长,即字段名位于位置0,别名位于位置1,子项位于位置2:

var matrix2 = [];

for (var i=0; i<10; i++) {

    matrix2[i]=[];
    matrix2[i][0] = 'tableName'+i;
    matrix2[i][1] = 'tableAlias'+i;
    matrix2[i][2] = [];//context
    matrix2[i][3] = [];//alias
    matrix2[i][4] = [];//field
}


matrix2[0][2][0] = "field8 + field9 as alias3";
matrix2[0][3][0] = [];//alias array
matrix2[0][3][0][0] = ["alias3"];
matrix2[0][4][0] = [];//field array
matrix2[0][4][0][0] = "field8";
matrix2[0][4][0][1] = "field9";


matrix2[3][2][0] = "field1 + field2 - field3 as alias1";
matrix2[3][3][0] = [];//alias array
matrix2[3][3][0][0] = ["alias1"];
matrix2[3][4][0] = [];//field array
matrix2[3][4][0][0] = "field1";
matrix2[3][4][0][1] = "field2";
matrix2[3][4][0][2] = "field3";

matrix2[3][2][1] = "field4 + field5 - field6 as alias2";
matrix2[3][3][1] = [];//alias array
matrix2[3][3][1][0] = ["alias2"];
matrix2[3][4][1] = [];//field array
matrix2[3][4][1][0] = "field4";
matrix2[3][4][1][1] = "field5";
matrix2[3][4][1][2] = "field6";
matrix2[3][4][1][3] = "field7";

matrix2[3][3][1][1] = [];//children of alias2
matrix2[3][3][1][1][0] = [];//first child
matrix2[3][3][1][1][0][0] = [];//array for fields
matrix2[3][3][1][1][0][0][0] = "child1";
matrix2[3][3][1][1][0][0][1] = "child1a";
matrix2[3][3][1][1][0][1] = ["chdAlias1"];
matrix2[3][3][1][1][0][2] = [];//grandkids
matrix2[3][3][1][1][1] = [];//second child
matrix2[3][3][1][1][1][0] = [];//array for fields
matrix2[3][3][1][1][1][0][0] = "child2";
matrix2[3][3][1][1][1][1] = ["chdAlias2"];
matrix2[3][3][1][1][1][2] = [];//grandkids
matrix2[3][3][1][1][2] = [];//third child
matrix2[3][3][1][1][2][0] = [];//array for fields
matrix2[3][3][1][1][2][0][0] = "child3";
matrix2[3][3][1][1][2][1] = ["chdAlias3"];
matrix2[3][3][1][1][2][2] = [];//grandkids

matrix2[3][3][1][1][2][2][0] = [];//children of child3
matrix2[3][3][1][1][2][2][0][0] = [];
matrix2[3][3][1][1][2][2][0][0][0] = "grandchild1";
matrix2[3][3][1][1][2][2][0][1] = ["grandchildAlias1"];
matrix2[3][3][1][1][2][2][0][2] = [];
matrix2[3][3][1][1][2][2][1] = [];
matrix2[3][3][1][1][2][2][1][0] = [];
matrix2[3][3][1][1][2][2][1][0][0] = "grandchild2";
matrix2[3][3][1][1][2][2][1][1] = ["grandchildAlias2"];
matrix2[3][3][1][1][2][2][1][2] = [];
var matrix2=[];

for(var i=0;这并不能回答您的问题,但您可以将
for
的内容替换为:
matrix2[i]=['tableName'+i',tableAlias'+i,[],[],[],[]
您能否添加一个问题解决方案,例如您希望在已发布的代码中获取的数据?这并不能回答您的问题,但您可以将
for
的内容替换为:
matrix2[i]=['tableName'+i',tableAlias'+i,[],[],[]
您能否添加一个问题的解决方案,例如您希望在已发布的代码中获取的数据?