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

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

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

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

Q&A

解決済

2回答

797閲覧

JavaScriptでオブジェクトをリターンするswicth文のデータ重複箇所をどうにかしたい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2022/11/21 01:23

わかりづらいタイトルですみません。
jsでオブジェクトをリターンするswitch文を作成しており、その中でどのcaseでもリターンする値があります。

switch (rule) { case 'validation1': return { required: '必須項目です', pattern: '10文字以内で入力してください' } break case 'validation2': return { required: '必須項目です' pattern: '半角数字で入力してください', } break default: return { required: '必須項目です', } }

上記のrequiredはどのcaseでもリターンに含めます。
caseが増えてくると毎度同じことを書くのに違和感を感じており、何か上手い実装方法がないか考えております。
何か良い方法があれば教えていただけると幸いです。

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

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

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

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

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

guest

回答2

0

javascript

1const test=rule=>{ 2 const obj={required: '必須項目です'}; 3 const tmp={}; 4 switch (rule) { 5 case 'validation1': 6 tmp.pattern= '10文字以内で入力してください'; 7 break; 8 case 'validation2': 9 tmp.pattern= '半角数字で入力してください'; 10 break; 11 default: 12 break; 13 } 14 return {...obj,...tmp}; 15} 16console.log(test('validation1')); 17console.log(test('validation2')); 18console.log(test(null));

投稿2022/11/21 01:52

yambejp

総合スコア114767

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

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

0

ベストアンサー

requiredだけ持ったオブジェクトを用意しておいて、あとから pattern を設定するのはいかがでしょうか。

js

1const result = {required: '必須項目です'}; 2switch (rule) { 3 case 'validation1': 4 result.pattern = '10文字以内で入力してください'; 5 return result; 6 case 'validation2': 7 result.pattern = ...

投稿2022/11/21 01:45

int32_t

総合スコア20832

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問