発生している問題、目指している形
例えば
a b c d e
f g h i j
の様なテキストを読み込んだ場合、行と空白で分割し、配列にしたいです。
まずは行で分割し、result2=[a b c d e, f g h i j]としています。
これをさらに空白で分割し、array0=[a, b, c, d, e]、array1=[f, g, h, i, j]のようにしたいのですが、arrayが上書きされてしまい最後の行の配列しか残りません。
arrayをarray0、array1のように数字で分けようとevalを使用したりしましたが上手くいきませんでした。
for (var i = 0; i <result2.length; ++i) { var array=result2[i].split(/\s+/); ←ここのarrayをiを使って変化させたいです。 console.log(array); }
仕方ないので最初は行数に応じて
var array0=result2[0].split(/\s+/);
var array1=result2[1].split(/\s+/);
var array2=result2[2].split(/\s+/);
のようにしていたのですが、なんとかしたいのでご教授お願いします。
該当のソースコード
JavaScript
1<body> 2<form name="test"> 3<input type="file" id="selfile"><br> 4<textarea name="txt" rows="10" cols="60" readonly></textarea> 5</form> 6 7<script> 8 9var obj1 = document.getElementById("selfile"); 10 11obj1.addEventListener("change",function(evt){ 12 13 var file = evt.target.files; 14 var reader = new FileReader(); 15 reader.readAsText(file[0]); 16 17 reader.onload = function(ev){ 18 //テキストエリアに表示 19 document.test.txt.value = reader.result.toLowerCase(); 20 var result2=reader.result.toLowerCase().split("\n"); 21 console.log(result2); 22 23 for (var i = 0; i <result2.length; ++i) { 24 var array=result2[i].split(/\s+/); 25 console.log(array); 26 } 27 } 28},false); 29</script> 30</body>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。