質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

850閲覧

JavaScript:二次元配列をボタンをクリックすると実行される関数で使いたい

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

1クリップ

投稿2021/11/14 05:20

編集2021/11/14 06:05

前提・実現したいこと

読みこんだcsvファイルを二次元配列にしそれを、クリックすると実行される関数でつかいたいです。

発生している問題・エラーメッセージ

グローバル変数をつかってみましたが、代入した関数内では二次元配列が表示されますが、関数外では「undefind」と表示されます。なぜそうなるのか教えていただきたいです。また、解決方法も教えていただきたいです。

###該当のソースコード

HTML

1 <form name="myform"> 2 <input name="myfile" type="file" /> 3 </form>

JavaScript

1var form=document.forms.myform; 2let data; 3form.myfile.addEventListner('change',function(e){ 4 var result=e.target.files[0]; 5 var reader=new FileReader(); 6 reader.readAsText(result); 7 8 reader.addEventListner('load',makearray,false) 9 function makearray(){ 10 //二次元配列にするための処理 11  data=//二次元配列; 12 console.log(daat);//二次元配列が表示される 13 } 14}) 15 16console.log(data);//undefind 17function //クリックすると画像を切り替える関数

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/11/14 05:37 編集

ソースが中途半端で判断がつきません type=fileのname=myfileでcsvファイルを選びたいということでしょうか? 二次元配列とはどういうものを想定しているのでしょうか? クリックすると実行される関数とはどういったもので、使いたいとはどうすることでしょうか?
退会済みユーザー

退会済みユーザー

2021/11/14 06:01

そうですね。編集します。
guest

回答1

0

ベストアンサー

最大限好意的に解釈して以下のとおり。
csv化は簡易的に処理をしているのでもうすこし工夫が必要

javascript

1<script> 2window.addEventListener('DOMContentLoaded',()=>{ 3 let res; 4 document.querySelector('#fl').addEventListener('change',e=>{ 5 const f=e.target.files[0]; 6 const fr=new FileReader(); 7 fr.readAsText(f); 8 fr.addEventListener('load',e=>{ 9 res=e.target.result; 10 res=res.replace(/^.+$/mg,'[$&]'); 11 res=res.replace(/[\r\n]+/g,','); 12 res=`[${res}]`; 13 res=JSON.parse(res); 14 }); 15 }); 16 document.querySelector('#btn').addEventListener('click',e=>{ 17 console.log(res); }); 18}); 19 20</script> 21<input type="file" id="fl"> 22<input type="button" id="btn" value="btn">

投稿2021/11/14 05:57

yambejp

総合スコア116466

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問