質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

238閲覧

javascript で自作関数の綺麗な動かし方について (条件と関数が大量にある場合の処理)

poponia

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2022/06/22 06:46

javascript初心者です、

現在組もうとしているプログラムに大量の関数があり、その関数を実行する際に困っています。
例としては 配列の値で特定の関数を動かしたいのです。
最初はswitch文で書いておりましたが、あまりにも醜いと思い、良い案があれば是非おきかせ頂きたいです。

次のようなコードがある場合はどのように記述するのがスマートなやり方でしょうか?

const x = ["a","b"〜〜〜,"z"]; function aaa(){ 〜処理内容〜 } 〜〜中略〜〜 function zzz(){ } for( i in x){ switch(i): case "a": aa() break; case "b": aaa() break; 〜以下繰り返し〜 }

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

オブジェクトに入れておくのはどうでしょうか。

js

1const dispatcher = { 2 "a": function aaa() { 3 〜処理内容〜 4 }, 5 "b": function bbb() { 6 〜〜中略〜〜 7 "z": function zzz() { 8 〜処理内容〜 9 } 10}; 11 12for (let i of x) { 13 dispatcher[i](); 14}

投稿2022/06/22 07:07

int32_t

総合スコア20790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poponia

2022/06/22 07:12

回答ありがとうございます! dispatcher[i]();こちらのように[i]();が可能なのが目からウロコでした。 これならシンプルで解りやすいかもしれません。 ありがとうございました!
guest

0

ゲッタで処理

javascript

1const list=["a","b","c"]; 2class myclass{ 3 get a(){console.log("aaa")}; 4 get b(){console.log("bbb")}; 5 get c(){console.log("ccc")}; 6}; 7const c=new myclass; 8list.forEach(x=>c[x]);

投稿2022/06/22 10:34

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poponia

2022/06/25 00:27

回答ありがとうございます。 此方も纏められていてシンプルで解りやすい記述だと思います。 良い方法を教えていただいてありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問