複数の変数宣言を、for文で一気にやる方法ってありますでしょうか?
たとえば、tfという変数を3つ作りたいとき、
var tf1:TextField = new TextField();
var tf2:TextField = new TextField();
var tf3:TextField = new TextField();
↑このように普通に書くのではなく
for(var i:int=0; i<3; i++){
var this["tf" + i]:TextField = new TextField();
}
↑このようにfor文で一気に書こうとしたのですがエラーになります。
複数の変数宣言を、for文で一気にやる方法ってありますでしょうか?
ご存知のかたいらっしゃいましたら、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
同じ要素のデータを複数個作る時は、配列を使うと良いですよね。
恐らく下の文で配列を使おうとはしているのですが、配列(のメンバ)と変数の違いがよく理解されていないのが問題かと思います。
上では、tf1,tf2,tf3の、3つの変数を宣言していますが、
下の文では、thisという配列要素の"tf"+iというメンバに値をセットしつつ宣言をしようとしています。しかし配列のメンバは変数ではないため、何の宣言をしているのかわからなくなっています。
なお、このとき存在する変数は、thisという配列変数1つだけです。
何が言いたいかというと、配列は、配列自体が1つの変数であって、そのメンバーは変数宣言は必要有りません。
実際のところ、エラーが出るのは配列のメンバーを宣言するという行為にあるわけですが、そもそもthisという配列は本来もともと定義されているので使うのはよろしくないと思います。
下のコードをより的確にすると、
var tf:Array = new Array();//tf配列を宣言
for(var i:int = 0; i < 3; i++ ){
tf[i] = new TextField();//tf[0]、tf[1]、tf[2]にTextFieldオブジェクトを生成して代入
}
となるはずです。
普段はJavaScript書きなのでもしかしたらコードが違うかも知れませんがそこはご容赦下さい;根本は同じはずなので…
それでは成功を祈っています。
みなさま、すばやいご回答をたくさんありがとうございました。
おかげさまですぐに解決することができました。
本当にありがとうございました!
No.3
- 回答日時:
var max:uint=5;//5個生成
/*for (var i:uint=0;i<max;i++){
this["txt"+i]=new TextField();
addChild(this["txt"+i]);
this["txt"+i].x=100;
this["txt"+i].y=10+30*i;
this["txt"+i].text=String(i);
}*/
//以下のようにも、書けます。普通は、私は、こっちの方法を採ります。
for(var i:uint=0;i<max;i++){
var tf:TextField=new TextField();
addChild(tf);
tf.x=100;
tf.y=10+30*i;
tf.text=String(i);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- C言語・C++・C# C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです < 1 2022/08/11 23:38
- Excel(エクセル) Excel マクロで For 文のインデックスを先に宣言する理由 7 2022/08/27 00:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の要素番号を取得するには?
-
[Objective-c]多次元配列のアク...
-
重複しない乱数整数を発生させる。
-
VBでボタンを押すと画像をラン...
-
VB.NET の配列の要素数
-
ランダムに6つの数字を選びその...
-
【数字ランダム】計算問題ラン...
-
【ActionScript】配列の昇順降...
-
python: 直角三角形の種類を求...
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
c++ cmathとmath.h
-
エラー438でオブジェクトの...
-
TextChangeイベントが発生しない
-
#define 文
-
fetchでreturnで戻り値
-
時間差を取得結果を求めるには
-
LRESULTとHRESULT
-
イベントリスナーの重複登録に...
-
VBS 名前定義の確認→ありかなし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET の配列の要素数
-
変な質問ですみません、n番目の...
-
配列の要素番号を取得するには?
-
VBでボタンを押すと画像をラン...
-
Vba 配列の中の特定文字列の位...
-
DataGridでCTRLキーを押さずに...
-
IDの自動採番について
-
複数の変数宣言を、for文で一気...
-
VB6 複数行のテキストをリスト...
-
重複しない乱数の生成
-
重複しない乱数整数を発生させる。
-
C言語のsizeof(サイズオブ)演算...
-
入れ替える処理
-
絵を描き、その都度のxy座標を...
-
正規表現でタグの中身を抜き取...
-
2次元配列 ソート
-
Action Script 2.0 配列の比較
-
画像をランダムに表示するには
-
ランダムに数字を並び変える方法は
-
景品パネルの作り方
おすすめ情報