2016-04-05 3 views
-2

可変長でもある可変数の行行列を取り込み、それらを一緒に追加するプログラムを作成しようとしています。したがって、配列1の要素1は配列2の要素1に追加されます。私の配列はNANを生成します

function add() { 
var x = document.getElementById("input").value; 
var z = x.split(" "); 
var l = z[0].length; 
var y = []; 
y.length = l; 
var i = 0; 
var j = 0; 
for(j = 0; j<l;j++){ 
for(i = 0; i < z.length; i++){ 

y[j] += z[i][j]; 
} 
} 
document.getElementById("output1").innerHTML = y; 


} 

</script> 
<input type="text" id = "input" value = "233,322,444"> 
<button onclick = "add();"> add </button> 
<div id = "output1"></div> 

これは私が仕事に取得しようとしているコードのビットです。配列はNAN、NANを生成します。配列の最後まで。どんな助けでも大歓迎です。

たとえば、次のような出力があります。これはundefined233、undefined322、undefined444です。これは私が233,322,444を入れた後の結果でした。

Also all columns must be same length i.e z[0] is length of all sets of  numbers 
+1

です。配列に何が入っているのかわからなくても、あなたが取っている出力を理解することは非常に難しいです。 – Ortund

+1

入力フィールドに入力データを追加してください。 –

答えて

0

xは文字列になります。このテキストを空白で分割すると、z.length要素の部分文字列(z)の配列が得られます。

あなたのコードは256 765 187 239のような入力を望み、y [0]に2,7,1,2を、y [1]に5,6,8,3を、yに6,5,7,9を追加する必要があります[2];

これらの問題あなたが得られます:あなたが想定し

  1. を、すべてのグループでは、Y [J] = 0を行う必要がありY [J]に追加する前に、グループ0
  2. と同じ長さを有しています。
  3. Z [i] [j]は、テスト入力データのある種があなたの質問に含めるように役に立つかもしれない型「string」
+0

これは、私が入れている入力です。parseInt(z [i] [j])は動作しますか?すべての入力が数字だったので、私はそれが必要ないと思った。すべての列も同じ長さでなければなりません。つまり、z [0]はすべての数値の長さです。 – conk

+0

yes、y [j] = 0; y [j] + = parseInt(z [i] [j];は動作します – Holger