- ベストアンサー
jQuery for内にある配列の後のドットは何?
jQuery(?) for文内で、配列の後にドット演算子があるのですが、これは何でしょうか? for ( var i=0, len=hoge.length; i<len; i++ ) { hoge[i].max = 5; hoge[i].count = i; } ・maxはどこにある(属している)のでしょうか? ・hoge配列内? ・そもそもmaxは変数? ・ちなみに、hogeは、getElementsByClassNameで取得しています ・この場合のドット演算子は、セレクタの一種? ・変数に格納しているわけではなくて、DOMを操作しているだけ?
- みんなの回答 (6)
- 専門家の回答
関連するQ&A
- 2次元のJSON形式の配列の展開
JSON形式で受け取った2次元配列をHTMLに書き出そうとしています。 配列を指定するカラム名?を変数にしたいのですがうまくできません。 var hoge = "abc"; var len = result.length; for (i = 0; i < len; i++){ objResult.append("<li><a href=" + result[i].ID + ">" + result[i].hoge + "</a></li>"); } ※objResultはul要素を変数に収めたものです。 JSONデータは1列目のカラム名は『ID』で固定ですが2列目は変動する為、上記の『hoge』の部分にはJSONデータを受け取る前にカラム名を別処理で取得して格納しています。 ご教授の程よろしくお願いします。
- ベストアンサー
- JavaScript
- jQueryの配列の渡し方について
jQueryでの配列の渡し方についてご質問です。 jQueryではなくjavascriptでも良いのですが、不慣れなのでjQueryで試行しています。 ---------------------------------------------- targettab = targettab.split( ',' ); jQuery.each(targettab, function(i, val) { var livetab = "<li id='" + i + "'>" + val + "</li>"; jQuery(livetab).appendTo(jQuery("ul#tab")); }); ---------------------------------------------- ※変数 targettab に「あああ,いいい,うううう]という値が入っています。 こう↑書きますと、ul#tabの内部に <li id='1'>あああ</li> <li id='2'>いいい</li> <li id='3'>ううう</li> と入り、リストが生成されます。 ここまでは良いのですが、このそれぞれのidに入っている数字を任意の文字列にしたいです。 例えば、 targetstrings = "hoge,foo,dummy"; targetstrings = targetstrings.split( ',' ); という配列を差し込んで、最終的に <li id='hoge'>あああ</li> <li id='foo'>いいい</li> <li id='dummy'>ううう</li> という形で整形したいです。 jQuery.eachでは、そもそもできないような気がしていますが、 お知恵を拝借できましたら、大変ありがたいです。 拙い説明で恐縮ですが、どうぞよろしくお願いします。 不明点などあれば、何なりとお知らせください。
- ベストアンサー
- JavaScript
- 配列長参照のオーバーヘッド
for等ループでループ終了条件に配列長を使用する場合、配列長を毎回参照する場合と一旦変数に格納して参照する場合、定数を使用する場合と処理速度の差はありますか? つまり 1、for( int i = 0; i < array.length; i++ ) { ... } 2、for( int i = 0; i < len; i++ ) { ... } *(int len=array.length) 3、for( int i = 0; i < 10; i++ ) { ... } *(int[] array = new int[10]) forループ内の処理のメモリ使用量の多寡は不明で、毎ループで読み取られる全ての変数はコンピュータのキャッシュに残るかどうかは不明だとします。
- ベストアンサー
- Java
- rubyで配列名をfor文で変更したい
ruby(というかプログラミング)初心者です。 つまづいてしまったところがあり質問をさせていただきました。 hoge0、hoge1、hoge2 の3つの配列があります。 これをfor文の中で次のように利用したいと思いました。 for i in 0..2 hoge=hoge ??? i ←不明な点 (例)hoge=hoge0 としたい ・ ・ ・ end つまり変数iを利用して配列名を順次変えていきたいのですがどうすればいいでしょうか。 hoge="hoge#{i}"としたら文字列hoge0が代入されるだけですし、hoge+iのような書き方もできません。 お時間あるときで結構ですのでお教えください。
- ベストアンサー
- その他(プログラミング・開発)
- jqueryのajax()内からグローバル配列に
jqueryのajax(){success: function()内からグローバル連想配列に値を格納したい。 jqueryのajax()でhtmlファイルを読み込み配列に格納。 その後他の関数で使いたいと考えていますが グローバル連想配列に格納できません。 success: function()内でさらに関数を定義もして見ましたが反応せず。。。 (プルダウンメニューを変更したら実行する関数) 以下ソースになります。 ----------------------------------------------------------- $(function() { objectarray = new Object(); $.ajax({ type: 'GET', url: 'hoge.html', dataType: 'html', success: function(data) { var text = []; $(data).each(function(i){ text = $(this).text().split("\n"); }); var alldata = $.grep(text, function(e){return e;});//空白やデータなしを削除 for(i=0; i<alldata.length; i++){ objectarray[i] = (alldata[i]); alert("forの中" + objectarray[i]);//取得できた } alert("forの外" + objectarray);//取得できた return objectarray;//あってもなくても変わらない。。。 }, error:function() { alert('問題がありました。htmlデータがありませんでした。'); } //return objectarray;←有効にするとjsが認識されなくなります。 }); alert("ajaxの外" + objectarray[0]);//何も表示されない、firebugでみるとobjectarrayには値が入っている。 }); ----------------------------------------------------------- 上記はnew Object()でやっておりますがnew Array()でも同じ結果でした。 回避策をご教授いただけましたら幸いです。 どうぞよろしくお願いいたします。
- ベストアンサー
- JavaScript
- 多次元配列とfor文について
javascriptの配列について質問です。 例えば: var arrXXX = new Array(); function samplefunc{ //3次元配列の種類の作成 for (m = 0; m < aaa.length ; m++) { //連想配列作成 arrXXX .push(aaa[m]); } for (j = 0; j < bbb.length; j++) { for (i = 0; i < ccc.length; i++) { arrXXX[aaa[j]] = new Array(ccc.length); arrXXX[aaa[j]][i] = new Array(ccc.length); for (k = 0; k < ddd.length; k++) { arrXXX[aaa[j]][i][k] = eee; ここでは配列を適切に使える・・・ } } } ここでarrXXXを使いたいが、3次元配列でなくなっている?! arrXXX[~][0][0]はnullまたはオブジェクトではありません・・・がでます。 } 結局、for文を完全にでてしまうと、せっかくつくった配列がダメになってしまいます。どうすればfor文外で配列を使用できるのか教えてください!
- ベストアンサー
- JavaScript
- for文内での関数の使用がうまくいきません。
いつもお世話になってます。flash初心者です。 環境:flash 2004 MX, WIN XP ボタンが3つ、それぞれ a0, a1, a2~ a(n個)という名前で存在します。このボタンを押したときに変数の値を代入するためのスクリプトを作りました。 文が長くて、for文を使って、繰り返しの処理を省略したいのですが、for文内で、変数に 配列の値を代入することに失敗してしまいます。 まず、ダイナミックテキストの変数名を myhoge にする。 //各ボタン用のテキストを定義 var hoge = new Array(); hoge[0] = "0番のボタンを押したときのテキスト"; hoge[1] = "1番のボタンを押したときのテキスト"; hoge[2] = "2番のボタンを押したときのテキスト"; ↓ hoge[99] = "99番のボタンを押したときのテキスト"; for (var i:Number = 0; i <= 99; i++) { _root["a"+i].onRelease = function() { _root.myhoge = _root.hoge[i]; } } 上記で、該当ボタンをクリックしたときは、ボタンは反応するのですが、配列のところがうまくいってないみたいです。 原因がわかる方いらっしゃいましたらお願いいたします。
- 締切済み
- Flash
- 配列を後ろから数えるには?
例えば配列を前からならこのようになるはずです class TestIntArray { public static void main(String args[]) { int vi[] = {0, 1, 2, 3, 4, 5, 6}; for (int i = 0; i < vi.length; i++) System.out.println("vi[" + i + "] = " + vi[i]); } ですが逆に配列を後ろからならどうしたらいいのでしょうか? 今回の場合は6543210を出力させるのが目的です 今までずっと配列って言ったら for (int i = 0; i < vi.length; i++)がほぼ定形分ように頭にはいっていますので考え方がわからないです。 ヒントやアドレスをお願いします。
- ベストアンサー
- Java
- 配列の中身を全て順番に別の関数へ引数として渡すには
配列の中身を全て順番に別の関数へ引数として渡すには、どうすればよいでしょうか? このままだと、'null' は Null またはオブジェクトではありません。 となります。 function piyo(hoge){ alert(hoge); } for (var i = 0; i < hogearray.length; i ++) { piyo(hogearray[i]);//ここを通ったら、順番の関数を呼び出すようにしたい } また、グローバル変数として渡すには、どうすればよいでしょうか?
- ベストアンサー
- JavaScript
お礼
回答いただいたみなさん、どうもありがとうございました。 ・当初質問した疑問については、No.1さんの「domの実態はオブジェクトなので~」で解決しました ・質問した時点では、DOMオブジェクトと、JavaScriptオブジェクトを何か違うもののように捉えていたので、「ドットでメソッドやプロパティを操作できる」ことが自分の頭の中でうまく結びつきませんでした ・「プロパティ」「オブジェクト」「変数」については、JavaScript全体における立ち位置が以前から不明だったため、追加で質問しました >プリミティブ型 ・名前は知っていたのですが、よく分かっていませんでした ・No6さんの解説、大変分かりやすかったです ・解説いただいた内容を元に改めて調べてみたところ、ようやく自分の中で体系化できたような気がします ・今回学んだことは、JavaScriptはまず「プリミティブ型」「オブジェクト型」に分けて考える、ということです(この分類自体は知っていたのですが、その意味を全く理解していませんでした) ・勉強になりましたー