質問: javascriptのコードレビューをお願いしたいです。 私は現在専門学生で就職のためのポートフォリオを作っているのですが その中のjavascriptdつまづいてしまいました。 ドットインストールを見ながらタイピングゲームを作ってみたのですが 全体的に冗長で同じ処理を2回書かないといけなくなってしました。 本コードの日本語版と英語版のところです... なんかモジュールを使うってのはなんとなくわかるんですけど 処理の中の値をどうやって変化させたらいいのかわかりません。 さすがにこのまま企業に見られたとしたらアウトだと思って困っています。 おおざっぱでもいいのでどうかよろしくお願いします。
回答: 似た処理の関数には、引数を持たせることで処理できないか考えましょう。 例えば、音は、この関数1つで動かない? 関数 function sound(data_name) { if(flag === true){ document.getElementById(data_name).pause(); }else{ document.getElementById(data_name).play(); } 利用時(鳴らしたい音名を指定) sound("happy"); 単語配列は、2次元配列を使ったらどうですか? そうしたら、無駄なif判定がすべて消えるし、文字列の管理もしやすい。 const words2 = [ ["ローマ字 or 英語", "日本語"], ["ローマ字 or 英語", "日本語"], ["ローマ字 or 英語", "日本語"], ];