2016-09-21 4 views
-3

に指定された配列を持つネストされた配列を作成します。 Iは、下記のように個々のアレイの数が多い:は、私はJavaScriptでネストされた配列を作成し、同じ性質を持つグループのデータにしたいしたいの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']];   

私は使用しているようにZアレイにアクセスcouldnot以下

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]]); 
    } 
    } 

を試みましたか?では、結果を配列に得る方法はありますか?

予想される出力(配列内のデータA)

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

私はJavaScriptに新しいですし、私は間違った質問をしていた場合、私は申し訳ありません。私は配列を返す必要があります。

ここでは、2番目の配列0のインデックス値と2番目の配列0のインデックス値と1番目の配列1のインデックス値と2番目の配列0のインデックス値とのマッチングを持つペアのデータをグループ化したい配列とプッシュプルa。

配列vは配列u と一致するので、グループ内で値v [0]、v [1]、v [2]、u [2]を取り、u [ 0]、u [1]とする。グループを配列aにプッシュします。

私は私のプログラムでは、配列aを返すことができるので、あなたの配列が既に配列である

+2

'[ 'C'、 'E'、 'G'、 'H'] [ 'D'、 'E'、 'F']'の間にコンマがありませんか! – guest271314

+1

あなたは 'z = [[v]、[w]、[y]、[z]]'の代わりに 'z = [v、w、y、z] – Bergi

+0

@Bergi、ここでは、配列内のデータを、第1配列0のインデックス値と2番目の配列1のインデックス値と1番目の配列1のインデックス値と2番目の配列0のインデックス値を持つペアにグループ化し、これらのマスキングを単一の配列にプッシュします。私は自分のプログラムで配列を返すことができるように。 – bikas

答えて

2

は、あなたが(「[]」彼らの周りあなたがそれらを押すと

+0

配列内のマッチをグループ化し、配列を返す必要があるので配列を返す必要があります – bikas

0

するTry連結を配置する必要はありません):

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

次に、this postの方法を使用して重複を削除します。

+0

配列zをスキャンしたい場合は、どうすればv&wを知ることができますか?私はサンプル配列t、u、v、w、x、yだけを与えました。私は配列が非常に多く、スキャンする必要があります – bikas

関連する問題