2016-06-16 3 views
0

필요한 솔루션과 도움을 찾으려고했지만 실제로 쓸 항목을 찾을 수 없었습니다. 다음 JavaScript 함수가 필요합니다.행을 열로 변환하는 자바 스크립트 기능

다음 행 세트가 있습니다.

AAAAAAA 
BBBBBBB 
CCCCCCC 
DDDDDDD 

출력이 이렇게 될 수 있도록 위의 데이터를 열로 변환해야합니다.

ABCD 
ABCD 
ABCD 
ABCD 
ABCD 
ABCD 
ABCD 

즉 행이 열로 변환됩니다.

누구나 JavaScript 또는 jQuery 함수를 사용하여 결과를 얻을 수 있습니까?

+2

어떤 형식입니까? 그들은 4 개의 분리 된 배열입니까? 그들은 html 테이블의 4 개의 다른 행에 인쇄됩니까? – mwilson

+0

이 배열 또는 문자열입니까? –

+0

이것은 실제로 지정된 과제에 대한 테스트 문제입니다. 실제 함수 질문은 여기를 참조하십시오. http://pastebin.com/kEGBzJzV - # 1 참조. 텍스트 차단 섹션. –

답변

3

당신은 입력과 출력 모두 배열 형식으로되어있는 경우에 당신이 String#split을 피할 수 Array#forEach 방법

var data = `AAAAAAA 
 
BBBBBBB 
 
CCCCCCC 
 
DDDDDDD`; 
 

 
var res = []; 
 

 
data.split('\n').forEach(function(v) { 
 
    v.split('').forEach(function(v1, i) { 
 
    res[i] = (res[i] || '') + v1; 
 
    }) 
 
}); 
 

 
console.log(res.join('\n'));


를 사용하여이 같은 작업을 수행 할 수 있습니다 Array#join 메토 DS

var data = [ 
 
    'AAAAAAA', 
 
    'BBBBBBB', 
 
    'CCCCCCC', 
 
    'DDDDDDD' 
 
] 
 

 
var res = []; 
 

 
data.forEach(function(v) { 
 
    v.split('').forEach(function(v1, i) { 
 
    res[i] = (res[i] || '') + v1; 
 
    }) 
 
}); 
 

 
console.log(res);

+0

그게 효과가! 고마워요 –

+0

요구 사항에 따라 데이터 var은 문자열입니다. 그것은 배열이어야합니다. – mwilson

+0

@mwilson : 업데이트 된 –

1
이보다 더 나은 솔루션이있을 수 있습니다

이 시도 : 요구 당

var data = ["AAAAAAA", 
      "BBBBBBB", 
      "CCCCCCC", 
      "DDDDDDD"]; 

var output = []; 
data.map(function(a){ 
    for(var i=0; i<a.length;i++){ 
      if(!output[i]) 
       output[i] = ""; 
     output[i] += a[i]; 
    } 
}); 
console.log(output); 
0

을 질문에,이 그것을 할 것입니다 :

var arr = ["AAA", "BBB", "CCC"]; 
var result = ['', '', '']; 
for (var i = 0; i < arr.length; i++) { 
    var str = arr[i].split(''); 
    for (var j = 0; j < str.length; j++) { 
     result[j] += str[j]; 
    } 
} 
    console.log(result); 
0

var data = ["AAAAAAA", 
 
\t \t \t "BBBBBBB", 
 
\t \t \t "CCCCCCC", 
 
\t \t \t "DDDDDDD"]; 
 

 
var mapedData = data[0].split('').map(function (string, i) { 
 
\t return data.map(function(string1, i1) { 
 
\t \t return string1.charAt(i); 
 
\t }).join(''); 
 
}); 
 

 
console.log('required data ---', mapedData);