
No.2ベストアンサー
- 回答日時:
同じ params, options を用いて、対象のidだけ替えて同じ処理をするものと解釈しました。
関数 hoge() のほうをパラメータとid(配列)を渡すと、その配列の要素数だけ処理後に再帰するようなしくみにしておけばよいのでは?
関数コールは
hoge(params, options, ["#id1", "#id2", "#id3"]);
のような感じ。
hoge()の方は内容が不明なのでかけませんが、雰囲気として
function hoge(params, options, elements){
var index = arguments[3] || 0;
if(elements[index]){
//element[index]に対して処理を行なう(indexをインクリメント)
~~~~, function(){ //←コールバック関数
hoge(params, options, elements, index);
};
}
}
みたいな感じでどうでしょうか?
これを上述のように呼び出せばよろしいかと…
回答ありがとうございます。
>同じ params, options を用いて、対象のidだけ替えて同じ処理をするものと解釈しました
・整理できていないこちらの意向を汲み取っていただきありがとうございます!
・おかげで希望通り動作させることができました
>var index = arguments[3] || 0;
・ループと言えばfor文しか頭に思い浮かばないのですが、再帰処理でこういう書き方も出来るとは目からうろこでした
・大変参考になりましたー
No.3
- 回答日時:
ANo2です。
ちょっとわかりにくかったかも。
『hogeメソッドを実行するhogehoge関数を作る』と言ったほうが良かったかもしれません。
さらに、そのhogehogeをメソッド化しておくという考えもあるかと思いますが、多分、必要ないのではと思います。
補足ありがとうございました。
・初めarguments[3]ってどこにあるのだろう? とちょっと悩みました
・大変勉強になりましたー
No.1
- 回答日時:
for文は同じ作業を繰り返す際に有効な文ですが、入れ子になると関数スコープが異なるので同じ作業ではありません。
複数のcallback関数を渡して内部で関数を作り直せば理論上は実装できるとは思いますが、実装が複雑になるのでお勧めしません。
とりあえず、入れ子にならない設計になるようにアルゴリズムを考え直すか、現コードが読みやすいと思えるまで目を慣らすか。
コードが断片的過ぎてアルゴリズムを見直す余地があるかはわかりませんが、関数hogeを何度もcallするなら関数hogeを見直す余地はあるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じ型【ハイフンと数字】だけ...
-
プログラミングのペーパーテス...
-
appendChildがieだとできない??
-
pdfに丸秘などのスタンプを...
-
HTMLの毎月の更新を自動的に行...
-
カラー表記の足し算プログラム
-
VBAでIEのボタンを押してメッセ...
-
重い処理とはどのようなものが...
-
船のゲームを作っているのです...
-
GASでundefinedエラーが出ます
-
バナーのランダム表示(複数、...
-
getElementByIdを使用したグロ...
-
idを使わずにonclickで自身の要...
-
マウスストーカーやクリックで...
-
キーワードをクリックすると説...
-
html javascript リンク先アド...
-
ジェネレーターの作り方
-
onchangeイベントを使ってspan...
-
C#OpenCv V4にのエラーに関する...
-
JavaScriptによるundefined判定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンをクリックすると数が増...
-
【正規表現】【javascript】CR...
-
同じ型【ハイフンと数字】だけ...
-
ASP+アクセスでのSQLコメントに...
-
HTTPSのとき":"が"%3A"ではなく...
-
サブウインドウから親ウインド...
-
confirmの連続?
-
VC++のちらつき防止方法
-
Boolean型配列中のTrueの有無を...
-
Vb.netのグローバル変数の宣言...
-
コールバック関数(?)をループし...
-
javascriptで文字挿入でtoggle...
-
【Jquery】changeイベント毎にa...
-
ifreamをリロードしたい
-
Excel VBA の ChangeFileAccess
-
MFCのキャプション変更
-
Linux バイナリ実行できない "...
-
-(ハイフン)_(アンダーバー)の...
-
2次元のJSON形式の配列の展開
-
C# .NET DataGridView の行を追...
おすすめ情報