2016-09-21 5 views
-3

자바에서 중첩 된 배열을 만들고 동일한 속성으로 데이터를 그룹화하려고합니다.자바 스크립트에서 주어진 배열로 중첩 된 배열을 만듭니다.

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 배열 액세스 couldnot I에 사용한 시도 아래 주어진 I 개별 어레이의 많은 수 있나? 배열 에 결과를 어떻게 얻을 수 있습니까?

예상 출력 (A 배열의 데이터)

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

나는 자바 스크립트에 새로운 오전과 내가 잘못된 질문을하고 있다면 죄송합니다. 돌아올 배열이 필요해.

여기서는 두 번째 배열 1 색인 값과 첫 번째 배열 0 색인 값과 두 번째 배열 0 색인 값이있는 첫 번째 배열 1 색인 값을 일치하는 쌍으로 배열의 데이터를 그룹화하고 이들을 그룹화합니다. 배열과 배열로 푸시 a.

위의 예상 출력에서 ​​배열 v는 배열 u 과 일치하므로 그룹에서 v [0], v [1], v [2] 및 u [2] 값만 가져 와서 u [ 0] 및 u [1]. 그룹을 배열에 밀어 넣습니다.

난 내 프로그램에서 배열 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 인덱스 값 및 두 번째 배열 0 인덱스 값이있는 첫 번째 배열 1 인덱스 값을 그룹화하고 이들을 그룹화합니다. 단일 배열로 푸시 a. 그래서 내 프로그램에서 배열을 반환 할 수 있습니다. – bikas

답변

2

, 당신은합니다 ('[]'그들 주위에 당신이 그들을 누르면

+0

배열을 그룹화하고 배열이 포함되도록 배열을 반환해야합니다. – bikas

0

해보십시오 CONCAT를 넣을 필요가 없습니다) :

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

그런 다음 this post에 표시된 방법을 사용하여 중복을 제거하십시오.

+0

배열 z를 스캔해야합니다. 그렇지 않으면 어떻게 v & w를 알 수 있으며 x와 y는 일치합니다 ..... 샘플 배열 t, u, v, w, x, y 만 주어진다. 배열이 너무 많아 스캔 할 필요가 있습니다. – bikas

관련 문제