• ベストアンサー

Javascriptでのクラスの作り方について

ご存じの方ご教示願います。 Java Scriptで下記のようなクラス(VBで言うところの構造体)を作成したいのですが・・・ 当方Java Scriptは勉強中で、ほとんどわかっておりません。すみませんが宜しくお願いします。 adata[i1].ii adata[i1].ij adata[i1].axis[i2].x adata[i1].axis[i2].y adata[i1].color[i3] ※各配列の範囲は以下の通りです。 i1=0~100 i2=0~3 i3=0~2

  • esu07
  • お礼率81% (39/48)

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

function myClass(){ //処理化は適当に・ this.ii="ii"; this.ij="ij"; this.axis=new Array(); for(var i=0;i<4;i++){ this.axis.push(new innerClass()); } this.color=new Array(3); for(var i=0;i<3;i++){ this.color[i]="#FFF"; } } function innerClass(){ this.x="x"; this.y="y"; } var adata = new Array(); for(var i=0;i<101;i++){ adata.push(new myClass()); } // alert(adata[50].ii); alert(adata[100].ij); alert(adata[10].axis[3].x); alert(adata[10].axis[0].y); alert(adata[0].color[2]);

esu07
質問者

お礼

わかりやすい記述有り難うございました。 参考にさせて頂きます。

その他の回答 (2)

  • VCAT
  • ベストアンサー率20% (16/79)
回答No.2

つまりこういうことです。 var a = new Array(3); for ( var i = 0 ; i < 3 ; i++ ){ a[i] = new Array(4); } a[0][0] = "0-0"; a[2][0] = "2-0"; a[0][3] = "0-3"; a[2][3] = "2-3"; for ( var i = 0 ; i < 3 ; i++ ){ for ( var j = 0 ; j < 4 ; j++ ){ document.write("a["+i+"]["+j+"]="+a[i][j]+"<br>"); } }

esu07
質問者

お礼

回答有り難うございました。

noname#45950
noname#45950
回答No.1

多次元配列での実装になると思います。

esu07
質問者

お礼

回答有り難うございました。

関連するQ&A

  • i-modeについて

    i-mode用のページでも使用可能なのは、どのプログラムでしょうか??i-modeに JAVAが搭載されたっていうのは 何かで見たんですが・・・ ASPとか、VBスクリプトとか、いろいろあって何が違うのか、よく分からないので 詳しい方、ぜひ分かりやすく、教えてください。 JAVAスクリプトと JAVAアプレットでは、何が違うんでしょうか???よろしく お願いします。

  • 配列クラスのクラス名

    配列クラスのクラス名 配列クラスのクラス名を教えてください。 配列はクラスですよね。そこまでは分かります。 こんなコードを実行しましたが System.out.println((new int[0]).getClass()); System.out.println((new boolean[0]).getClass()); System.out.println((new String[0]).getClass()); System.out.println((new Integer[0]).getClass()); 親切にこのような結果を出力してくれます。 class [I class [Z class [Ljava.lang.String; class [Ljava.lang.Integer; 結果として配列が何というクラスなのかは分かりません。 (もしかして『[I』『[Z』『[L』という名前のクラスでしょうか?) 昔Javaのソースを読んだときに、配列クラスのファイルも 読んだことがあるような気がするのですが、 なんと言うクラスだったか忘れてしまいました。 パッケージ名+クラス名を教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 私の場合、C++とJavaのどちらの言語でクラス取るべき?

    今度、データ構造のクラスを取ります。 でもその言語がC++とJavaで選べます。 私自身はBASIC, C, Fortran, Assembly, C++と習ってきました。 C++の初級は余裕だったのですが(Cの知識が結構応用できた)、 中級でのclassの概念(base, derivedなど)は 今一つ理解できてないと思います(グレードはBでした)。 例文があれば、いろんなところから貼り合わせ、なんとか動くようには出来るレベルです(^^ゞ 教授は「大丈夫、C++を理解していればJavaは出来る」と言いますし、 ここのOKWebの過去ログにもそんな記述があるのですが、 未知の言語(Java)で初級コースならまだしも データ構造(配列やらリストやら)を扱うっていうのは厳しいような…うーん…。 …と言いつつもC++でも自信ないし…うーん…。 Javaは人気があるのは知っていますし、新しい言語に興味もあるのですけど…うーん…。 最近、初級コースはJavaに切り替わったそうです… でも折角C++で必修科目を埋めたのにJavaで取り直すのはちょっと…うーん…。 こんな私はどちらの言語でデータ構造のクラスを取ればよいでしょうか? 両方の言語をご存知の方、アドヴァイスをください。

  • C#とjavaのクラス構造について

    現在、C#を勉強中なんですが、都合により、同時にjavaも勉強中です。 そこで思ったのですが、C#の構造とjavaの構造はもちろん違うのですが、ふと疑問に思ったのは、 C#はWebサーバーやら、APサーバー間をデータセットでデータのやり取りをするのですが、 javaは、そういう構造ではなく、色々調べてみると、アクションクラスで、直接、DBにSQLを投げるみたいなことが書かれていました。 C#にたとえると、FormクラスからいきなりDB接続みたいな感じですが、これはいいんでしょうか? C#の方を重点的にやってきたので、なんとなく抵抗がありますが・・・ よろしくお願いします。

  • 動的配列確保

    JAVA初心者です。 VBでのRedim Preserve、CのreallocみたいなものはJAVAには無いのでしょうか? 要はあらかじめ配列数がわかっていない時に動的配列確保を行いたいのです。 Objectではなく、基本クラスのint、byte等の配列に使いたいと思っております。 ArrayListが近い事が出来そうだったのですが、Objectにしか使用出来ないので、 断念しました。教えてください。

    • ベストアンサー
    • Java
  • JavaScript配列の先入れ先出しIEのバグ?

    参考資料はO'REILLY初めてのJavaScript(第2版)です。 function pushPop() { //Fifo待ち行列を作成し、pushを使ってアイテムの追加 var fifoArray = new Array(); fifoArray.push("林檎"); fifoArray.push("バナナ"); var ln = fifoArray.push("桜桃"); //長さと配列を表示 document.writeln("長さは" + ln + "で、行列の順番は" + fifoArray + "です。<br />"); document.writeln("<p>"); //shiftを使って配列からアイテムを外す for (var i = 0; i < ln; i++) { document.writeln(fifoArray.shift() + "を取り出します。今の順番は[" + fifoArray + "]です。<br />"); } //長さを表示 document.writeln("長さは" + fifoArray.length + "となりました<br /><br />"); //次に、popとunshiftも同様に行う var fifoNewArray = new Array(); fifoNewArray.unshift("初めての"); fifoNewArray.unshift("Java"); ln = fifoNewArray.unshift("Script"); document.writeln("長さは" + ln + "で配列は[" + fifoNewArray + "]となりました。<br />"); //pop for (i = 0; i < ln; i++) { document.writeln("「" + fifoNewArray.pop() + "」を取り出します。配列は[ " + fifoNewArray + "]となりました。<br />"); } document.writeln("長さは" + fifoNewArray.length + "となりました。"); document.writeln("</p>"); } Google Chromeでは以下のように書籍通りになりました。 /*---------Google Chrome実行結果---------*/ 長さは3で、行列の順番は林檎,バナナ,桜桃です。 林檎を取り出します。今の順番は[バナナ,桜桃]です。 バナナを取り出します。今の順番は[桜桃]です。 桜桃を取り出します。今の順番は[]です。 長さは0となりました 長さは3で配列は[Script,Java,初めての]となりました。 「初めての」を取り出します。配列は[ Script,Java]となりました。 「Java」を取り出します。配列は[ Script]となりました。 「Script」を取り出します。配列は[ ]となりました。 長さは0となりました。 /*---------Google Chrome実行結果(END)---------*/ IEに関しては、以下のように配列の長さは未定義になり pop(メソッド)を使って配列の最後の要素を削除したいのですができません 長くなりましたが回答の方、宜しくお願いします!!! /*---------IE実行結果---------*/ 長さは3で、行列の順番は林檎,バナナ,桜桃です。 林檎を取り出します。今の順番は[バナナ,桜桃]です。 バナナを取り出します。今の順番は[桜桃]です。 桜桃を取り出します。今の順番は[]です。 長さは0となりました 長さはundefinedで配列は[Script,Java,初めての]となりました。 長さは3となりました。 /*---------IE実行結果(END)---------*/

  • WebアプリケーションをWebサービスへ改修

    現在、Apache+Tomcat+StrutsによるWebアプリケーションがあります。それを、XML問い合わせによるWebサービスに改修したい次第です。WebサービスはAXIS(またはAXIS2)で実現したいと考えています。 通常のJavaクラスであればjava2wsdlなどでソースからWSDLファイルを作れると思いますが、StrutsのActionクラスなどは同様の事が出来るのでしょうか?それとも自身でWSDLファイルを作り、wsdl2javaなどからスケルトンを作って、そこから実体を呼ぶような手続きを取らなければならないのでしょうか? AXISもあまり詳しくないのですが、アドバイス頂けると幸いです。

  • JAVAとjavaスクリプトの関係 vb・VBS

    VBSとvb.netの関係・違いはわかるのですが JAVAとjavaスクリプトの関係はわかりません。 vb・VBSの関係と同じと考えて良いでしょうか?

  • VBスクリプトの配列数字をJAVAスクリプトで使うには

    表題があまり良くないですが VBSでページを作っています その中で ページ閲覧者がテキストボックスに値を記入したときに JAVAスクリプトのonchangeでJAVAスクリプトへ飛んで VBスクリプトで定義した配列の値を代入したいのですが うまくいきません 飛んでいった先のコードが <script type="text/javascript"> <!-- //値の代入 function hoge(FRM){ FRM.hoge1.value=ここにVBスクリプトの配列 } // --> </script> これだけのことなのですが 配列を直接数字で書くと FRM.hoge1.value=<%=atai(1)%> hoge1にはきちんと値が入力されます しかし この1と言う数字の所に FRM.hoge2.value の値をいれてやろうとすると イメージとしては FRM.hoge1.value=<%=atai(FRM.hoge2.value )%> なんですが、これではエラーがでます(当然ですよね) 色々"" でくくったり & や + ()などの 組み合わせでやってもうまくいきません どなたか正しい構文か方法を教えてください よろしくお願いします  

  • VB6でやると構造体の配列になる変数をVB2008では何で作ればいいか

    VB6でプログラムを作っていたときは 値のセットが配列になるとき 構造体を動的配列で宣言してデータを足して作りました。 VB2008で開発をすることになり 同じようなことをしたいのですが もっと便利なやり方が登場したりするのでしょうか? クラスで挑戦したのですが動的配列はできないようでした。