後で使用するために、テキスト ファイルから取得した情報を javascript の配列に保持するにはどうすればよいですか? HTML を配置するためだけでなく、ユーザーに反応するためにも使用しています。今のところ、インライン関数呼び出しを使用して HTML を問題なく配置できますが、そのデータを後で使用したい...
function get_words() {
var words = new Array();
var sylls = new Array();
var csv_file = new Array(); // for word arrays
$.get('terms.csv', function(data){
csv_file = data.split('\n');
// csv file is now in an array, split into seperate word array and syllable array
for (var i = 0; i < csv_file.length; i++) {
var both = csv_file[i].split(','); // split at the comma
words[i] = both[0]; // populate word array
sylls[i] = both[1]; // populate syllable array
put_word(words[i], sylls[i]);
};
check_resize();
});
}
function put_word(word, sylls) {
console.log(word);
// place the words into 'words' div
var divID = document.getElementById("words"); // grab 'words' div
divID.innerHTML += "<span>" + word + "</span>" + "<sup>" + sylls + "</sup> ";
}
それが私が持っているコードです。words[] と sills[] が get 関数の外部でアクセスできるようにしてほしい。
編集:もっと明確にしましょう(おっと)。配列を宣言する場所は問題ではありません。私がこれを知っている理由は、それらをスクリプトの先頭 (関数の外) に配置し、get_words() の最後に console.log(words) を試してみると、空の配列になるからです。
var words = new Array();
var sylls = new Array();
var csv_file = new Array(); // for word arrays
$(document).ready(function(){
get_words();
});
function get_words() {
$.get('terms.csv', function(data){
csv_file = data.split('\n');
// csv file is now in an array, split into seperate word array and syllable array
for (var i = 0; i < csv_file.length; i++) {
var both = csv_file[i].split(','); // split at the comma
words[i] = both[0]; // populate word array
sylls[i] = both[1]; // populate syllable array
//put_word(words[i], sylls[i]);
};
check_resize();
});
console.log(words);
}
編集:誰かがコールバックを置く場所を教えてもらえますか??
function get_words() {
$.get('terms.csv', function(data){
csv_file = data.split('\n');
// csv file is now in an array, split into seperate word array and syllable array
for (var i = 0; i < csv_file.length; i++) {
var both = csv_file[i].split(','); // split at the comma
words[i] = both[0]; // populate word array
sylls[i] = both[1]; // populate syllable array
//put_word(words[i], sylls[i]);
};
});
}
それで...このファイルが配列に入れられるまで待ちたい場合は、別の関数を呼び出します。どうすればよいですか?