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

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

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

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

JavaScript

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

配列

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

Q&A

解決済

1回答

886閲覧

javascript 配列 検索

t.o_325

総合スコア16

CSV

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

JavaScript

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

配列

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

0グッド

0クリップ

投稿2019/06/19 06:14

配列に入れたcsvファイルのデータから,ボタンを押したときにHTMLのテキストボックスの内容を取得して,その値があるかを検索して,適合したらその配列をhtmlに表示しようとしています。

javascript

1 function getcsv() { 2 let req = new XMLHttpRequest(); 3 req.open("get", "data.csv", true); 4 req.send(null); 5 6 req.onload = function() { 7 convertCSVtoArray(req.responseText); 8 } 9 } 10 11 function convertCSVtoArray(str) { 12 let result = []; 13 let tmp = str.split("\n"); 14 15 for(let i = 0; i < tmp.length; i++) { 16 result[i] = tmp[i].split(","); 17 // console.log(result[i][0]); 18 } 19 console.log(result) 20 } 21 getcsv(); 22 23 let btn = document.getElementById("btn"); 24 btn.addEventListener("click", function() { 25 let shagoNo = document.getElementById("shagoNo").value; 26 let regiNo = document.getElementById("regiNo").value; 27 let eigyo = document.getElementById("eigyo").value; 28 let meka = document.getElementById("meka").value; 29 let type = document.getElementById("type").value; 30 let eng = document.getElementById("eng").value//text id内容の取得 31 console.log(shagoNo); 32 33 let checkEigyo = document.getElementById("checkEigyo"); 34 let checkNUmber = document.getElementById("checkNumber"); 35 let checkMeka = document.getElementById("checkMeka"); 36 let checkKatashiki = document.getElementById("checkKatashiki"); 37 let checkEng = document.getElementById("checkEng"); 38 39if(shagoNo !== "" && shagoNo in result === true) { 40 alert(ok); 41 } 42 43

のように膨大なデータ量(5000件)を含むcsvファイルを読み込み配列に入れることはできたのですが,配列からtextの内容を検索しようとしたとき(indexOfなど),おそらくスコープの問題だと思うのですが,検索できません。

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

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

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

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

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

guest

回答1

0

ベストアンサー

data.csvの書式次第ですが、配列には間違いなく入れてあるのですよね?
であれば、、絞り込みをかけるだけだと思いますが
トリガーも処理もデータ形式もわからないので、「適当に検索する」としか
言いようがありません

投稿2019/06/19 06:18

yambejp

総合スコア114583

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

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

t.o_325

2019/06/19 06:22

配列には入っているのですが,ボタンをクリックした際にテキストの内容を取得し,検索(indexOF, filter, in)しようと思ている(最適化はわかりませんが)形です。
yambejp

2019/06/19 06:34

オブジェクトではなく普通の配列ならfilterで処理してください
t.o_325

2019/06/19 06:43

回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問