在javascript中使用给定数组创建一个嵌套数组

时间:2016-09-21 01:17:23

标签: javascript arrays nested

我想在Javascript中创建一个嵌套数组,并希望使用相同的属性对数据进行分组。我有大量的单个数组,如下所示:

var v=['d','c',['c','e','g','h']];
var w=['c','d',['d','e','f']];
var x=['a','b',['b','c','d']];
var y=['b','a',['a','c','e']];
var u=['e','f',['b','c','e']];
var t=['a','c',['b','c','e','f','g']];        

我试过以下

var z=[];
var a=[];

z.push([t]);
z.push([u]);
z.push([v]);
z.push([w]);    
z.push([x]);
z.push([y]);


var k,j;
for(j=0;j<6;j++){
    for(k=j+1;k<6;k++){
        if(z[j][0]==z[k][1]&& z[j][1]==z[k][0])            
        a.push([z[j][0], z[j][1], z[j][2],z[k][2]]);
     } 
  }

我无法以我使用的方式访问z数组?那么如何才能在 a 数组中得到结果?

预期输出(数组a中的数据)

[['d','c',['c','e','g','h'],['d','e','f']],['a','b',['b','c','d'],['a','c','e']]]

我是javascript的新手,如果我提出错误的问题,我很抱歉。我需要数组a才能返回。

这里我想将数组分组,对于那些匹配的对,即第一个数组0索引值和第二个数组1索引值,第一个数组1索引值和第二个数组0索引值,并将这些数学分组数组并推送到数组a。

在上述预期输出中,数组v与数组u匹配 所以我只想在组中取值v [0],v [1],v [2]和u [2]并忽略u [0]和u [1]。并将组推送到阵列a。

这样我就可以在我的程序中返回数组了

2 个答案:

答案 0 :(得分:2)

您的阵列已经是阵列,您不需要放置&#39; []&#39;当你推他们时,他们周围

答案 1 :(得分:0)

尝试使用concat():

z.push(v.concat(w)).push(x.concat(y));// duplicates will be present.

然后使用this post中显示的方法删除重复项。