私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.78 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
順番に配列に入れるなら
必要な長さの空文字列の配列を作成
successのコールバックでインデックスを指定して配列に入れる
表示する時は毎回joinで全てテキストエリアを上書き
必要な長さの空文字列の配列を作成
successのコールバックでインデックスを指定して配列に入れる
表示する時は毎回joinで全てテキストエリアを上書き
>>204がいいんでない?
返るって来るのが遅いデータは空行になって、データ:結果は一致するんじゃないかな。
返るって来るのが遅いデータは空行になって、データ:結果は一致するんじゃないかな。
>>180
説明ありがとうございました
結局少し仕様を変更する事にしたのですが、少々テキストファイルの読み込み等で質問があります。
上で記載した感じで、最終的にセレクトリストで選択した物、例えば"短剣"を元に、外部ファイル"item.text"から
一行ずつ読み出してその中に一致している文字列があれば指定文字毎に読み出してHTMLのテーブルに表示させたいと思っています。
このプログラムに必要な要素について説明されてるサイト等を教えていただけないでしょうか?
もしくは上記プログラムに必要な要素を教えていただけないでしょうか?
参考情報
・item.text
木炭,1,木材\n
銅,1,木炭,2,銅鉱石\n
青銅,1,錫,1,銅\n
鉄,1,木炭,2,鉄鉱石\n
短剣,3,鉄,1,木材\n
このテキストファイルを読み込んで下のように表示させたい(┳、━、┗等はとりあえず分かりやすくするために記載)
短剣┳鉄[3]┳木炭[3]
┃ ┗鉄鉱石[6]
┗木材[1]
※上の図は短剣で検索された行を読み込んだ後、さらに鉄を検索して材料と必要個数を表示。
説明ありがとうございました
結局少し仕様を変更する事にしたのですが、少々テキストファイルの読み込み等で質問があります。
上で記載した感じで、最終的にセレクトリストで選択した物、例えば"短剣"を元に、外部ファイル"item.text"から
一行ずつ読み出してその中に一致している文字列があれば指定文字毎に読み出してHTMLのテーブルに表示させたいと思っています。
このプログラムに必要な要素について説明されてるサイト等を教えていただけないでしょうか?
もしくは上記プログラムに必要な要素を教えていただけないでしょうか?
参考情報
・item.text
木炭,1,木材\n
銅,1,木炭,2,銅鉱石\n
青銅,1,錫,1,銅\n
鉄,1,木炭,2,鉄鉱石\n
短剣,3,鉄,1,木材\n
このテキストファイルを読み込んで下のように表示させたい(┳、━、┗等はとりあえず分かりやすくするために記載)
短剣┳鉄[3]┳木炭[3]
┃ ┗鉄鉱石[6]
┗木材[1]
※上の図は短剣で検索された行を読み込んだ後、さらに鉄を検索して材料と必要個数を表示。
すいません、グダグダと書きましたが
・外部ファイルから1行読み出し
・長い文字列と指定された短い文字列の一致判定
・指定区切り毎の読み取り
の3点がおそらく自分が理解してない事だと思っているため、よろしくお願いいたします。
・外部ファイルから1行読み出し
・長い文字列と指定された短い文字列の一致判定
・指定区切り毎の読み取り
の3点がおそらく自分が理解してない事だと思っているため、よろしくお願いいたします。
まず外部のファイルを読み込むのには俗に言うAjax、XMLHttpRequest(XHR)を使う。
ブラウザによって実装に色々と差があって面倒なので、
特に理由がないのであればその辺をまとめて吸収してくれるライブラリを使うべき。
流行ってるし使いやすいのでjQueryおすすめ。
http://semooh.jp/jquery/api/ajax/jQuery.get/+url%2C+data%2C+callback+/
こんな風に1文でGETを発行して結果をまとめて文字列として取得できる。
1行ずつ処理したければ\nでsplitすればいい。
http://www.google.co.jp/search?hl=ja&q=javascript+split
item.txtの書式はよく分からないので何とも言えないけれど
(例:「短剣」が最上位の要素になることはどのようにして決まるのか)、
JavaScriptの連想配列の使い方を少し調べれば
ツリーを表す構造を表すのもそんなに難しくないことは分かると思う。
(探索するのはちょっと面倒かも。これはJavaScriptではなくアルゴリズムの問題)
もうちょっと情報があれば頭の体操に考えてみるかも。
ブラウザによって実装に色々と差があって面倒なので、
特に理由がないのであればその辺をまとめて吸収してくれるライブラリを使うべき。
流行ってるし使いやすいのでjQueryおすすめ。
http://semooh.jp/jquery/api/ajax/jQuery.get/+url%2C+data%2C+callback+/
こんな風に1文でGETを発行して結果をまとめて文字列として取得できる。
1行ずつ処理したければ\nでsplitすればいい。
http://www.google.co.jp/search?hl=ja&q=javascript+split
item.txtの書式はよく分からないので何とも言えないけれど
(例:「短剣」が最上位の要素になることはどのようにして決まるのか)、
JavaScriptの連想配列の使い方を少し調べれば
ツリーを表す構造を表すのもそんなに難しくないことは分かると思う。
(探索するのはちょっと面倒かも。これはJavaScriptではなくアルゴリズムの問題)
もうちょっと情報があれば頭の体操に考えてみるかも。
>>227
他に慣れた言語があるなら、そっちでitem.textをJSONモドキのitem.jsに変換して
<script src="item.js">で一発ロードしたほうがなにかと楽
もし他言語使えないのなら・・・JSから生成するとなると結局XHRに頼ることになるから
キャッシュ的効果しか意味ねーな
手作業での変換はミスの元だし
他に慣れた言語があるなら、そっちでitem.textをJSONモドキのitem.jsに変換して
<script src="item.js">で一発ロードしたほうがなにかと楽
もし他言語使えないのなら・・・JSから生成するとなると結局XHRに頼ることになるから
キャッシュ的効果しか意味ねーな
手作業での変換はミスの元だし
>>230
例えば?
例えば?
>>230
何を根拠にそう言ってんの?
何を根拠にそう言ってんの?
>>227
レス感謝です
テキストファイル読み込むのって結構ややこしいんですね・・・と思ったのですが、ちょっと勘違いをされてる可能性があるので
補足しておきますが、テキストファイル自体はサーバー側にあるものを読み込みます。
作りたい物としては、ゲーム内でのアイテム生産時の必要材料の個数等を表示させるものです。
まず材料か製品か、次にそれぞれで何を作るか(武器、防具、消耗品等)、その後どの生産レベルの物を作るか、最後に品名を選択。(セレクトリスト自体は計4つ)
このリストを順に選んでいき、最終的に作る品名を選択した時点で下の適当な位置に>>225の下の図のような感じで必要な材料と個数を表示させるというものです。
処理としては、品名を選択したらテキストファイルを読み込み、1行取り出し、その行内に品名と同じ文字列があるかどうかを確認、
一致するものがあれば先頭からカンマ区切りで配列に読み込んでいき、配列の3つ目、5つ目、7つ目、11つ目、15つ目がある場合にその文字列を元に再度ファイル先頭から
1行ずつ読み込み確認していく。
これで最終的に原料(生産物で無い物)までを配列に格納され、後はそれを順に書き出す。
テキストファイル内の書式
アイテム名 , 材料1個数 , 材料1 , 材料2個数 , 材料2 , 材料3個数 , 材料3 ・・・ \n
レス感謝です
テキストファイル読み込むのって結構ややこしいんですね・・・と思ったのですが、ちょっと勘違いをされてる可能性があるので
補足しておきますが、テキストファイル自体はサーバー側にあるものを読み込みます。
作りたい物としては、ゲーム内でのアイテム生産時の必要材料の個数等を表示させるものです。
まず材料か製品か、次にそれぞれで何を作るか(武器、防具、消耗品等)、その後どの生産レベルの物を作るか、最後に品名を選択。(セレクトリスト自体は計4つ)
このリストを順に選んでいき、最終的に作る品名を選択した時点で下の適当な位置に>>225の下の図のような感じで必要な材料と個数を表示させるというものです。
処理としては、品名を選択したらテキストファイルを読み込み、1行取り出し、その行内に品名と同じ文字列があるかどうかを確認、
一致するものがあれば先頭からカンマ区切りで配列に読み込んでいき、配列の3つ目、5つ目、7つ目、11つ目、15つ目がある場合にその文字列を元に再度ファイル先頭から
1行ずつ読み込み確認していく。
これで最終的に原料(生産物で無い物)までを配列に格納され、後はそれを順に書き出す。
テキストファイル内の書式
アイテム名 , 材料1個数 , 材料1 , 材料2個数 , 材料2 , 材料3個数 , 材料3 ・・・ \n
失礼しました・・・テキストファイル自体がJavaScriptじゃ読み込めないんですね・・・。
JavaScriptでテキストファイルを読みこむ事はできるよ?
>>227をよく読んで調べるといい
あと、>>235の処理だと、連想配列にIDを入れて再帰的に処理した方が楽な気がする
>>225の例で行くと、item.textを適当に書き換え
{
"001":{"name":"木炭","item1":"木材","quantity1":1,"id1":"006"},
"002":{"name":"銅","item1":"木炭","quantity1":1,"id1":"001","item2":"銅鉱石","id2":"007","quantity2":2,},
"003":{"name":"青銅","item1":"錫","quantity1":1,"id1":"008","item2":"銅","id2":"009","quantity2":1},
"004":{"name":"鉄","item1":"木炭","quantity1":1,"id1":"001","item2":"鉄鉱石","id2":"007","quantity2":2},
"005":{"name":"短剣","item1":"鉄","quantity1":3,"id1":"004","item2":"木材","id2":"006","quantity2":1}
//木材・鉄鉱石・錫・銅がなかったので勝手に追加
"006":{"name":"木材"},
"007":{"name":"鉄鉱石"},
"008":{"name":"錫"},
"009":{"name":"銅"},
}
これを読ませて、itemの記述があったらidを元にこの連想配列を再帰的に読みに行くようにすればいいと思う
>>227をよく読んで調べるといい
あと、>>235の処理だと、連想配列にIDを入れて再帰的に処理した方が楽な気がする
>>225の例で行くと、item.textを適当に書き換え
{
"001":{"name":"木炭","item1":"木材","quantity1":1,"id1":"006"},
"002":{"name":"銅","item1":"木炭","quantity1":1,"id1":"001","item2":"銅鉱石","id2":"007","quantity2":2,},
"003":{"name":"青銅","item1":"錫","quantity1":1,"id1":"008","item2":"銅","id2":"009","quantity2":1},
"004":{"name":"鉄","item1":"木炭","quantity1":1,"id1":"001","item2":"鉄鉱石","id2":"007","quantity2":2},
"005":{"name":"短剣","item1":"鉄","quantity1":3,"id1":"004","item2":"木材","id2":"006","quantity2":1}
//木材・鉄鉱石・錫・銅がなかったので勝手に追加
"006":{"name":"木材"},
"007":{"name":"鉄鉱石"},
"008":{"name":"錫"},
"009":{"name":"銅"},
}
これを読ませて、itemの記述があったらidを元にこの連想配列を再帰的に読みに行くようにすればいいと思う
>>238
わざわざリレーショナルにしなくてもこれでいいんじゃない?
{
"木炭": { "木材": 1 }
"銅": { "木炭": 1, "銅鉱石":2 }
}
木材等の元素的な素材はデータにないようだから
それを逆に使って、undefinedが返ってきたら再起しない
わざわざリレーショナルにしなくてもこれでいいんじゃない?
{
"木炭": { "木材": 1 }
"銅": { "木炭": 1, "銅鉱石":2 }
}
木材等の元素的な素材はデータにないようだから
それを逆に使って、undefinedが返ってきたら再起しない
多分ファイルそのものの中身と一致してないんだろう
とりあえずそのページのURL出してみなよ
とりあえずそのページのURL出してみなよ
>>241
どうも。
例としては、ttp://sites.google.com/site/gorogoronyan/Home/javascript
の上部分のTestCanvas001.htmlとかTestCanvas002.htmlです。
どうも。
例としては、ttp://sites.google.com/site/gorogoronyan/Home/javascript
の上部分のTestCanvas001.htmlとかTestCanvas002.htmlです。
>しかし、同じFirefoxでも[meta charset="Shift-JIS"/]にするとOKです。
なんだからShift-JISで保存してるだけでしょ。
utf-8で保存し直しなさいな。
なんだからShift-JISで保存してるだけでしょ。
utf-8で保存し直しなさいな。
今書いてる文字のエンコードがなんなのかわからなくなる
エディタは使いづらいね。
エディタは使いづらいね。
>>248
メモ帳のことですね。わかります。
メモ帳のことですね。わかります。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [95%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [95%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.108 + (1001) - [95%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [95%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について