我想在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。
这样我就可以在我的程序中返回数组了
答案 0 :(得分:2)
您的阵列已经是阵列,您不需要放置&#39; []&#39;当你推他们时,他们周围
答案 1 :(得分:0)
尝试使用concat():
z.push(v.concat(w)).push(x.concat(y));// duplicates will be present.
然后使用this post中显示的方法删除重复项。