2016-06-16 12 views
0

私は必要な解決策を探して助けを求めましたが、実際には何かを書くことができませんでした。私はこのJavaScript関数が必要です。行を列に変換するための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

要件ごとに、あなたのデータは文字列です。それは配列である必要があります。 – 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);

関連する問題