如何使switch语句更有效?

Dav*_*d C 2 javascript

我有以下代码

//var r, t, y, f, g, h, c, v, b
    switch(event.key) {
        case 'r' : input.execute("game_stats_build " + r);
        break;
        case 't': input.execute("game_stats_build " + t);
        break;
        case 'y': input.execute("game_stats_build " + y);
        break;
        case 'f': input.execute("game_stats_build " + f);
        break;
        case 'g': input.execute("game_stats_build " + g);
        break;
        case 'h': input.execute("game_stats_build " + h);
        break;
        case 'v': input.execute("game_stats_build " + v);
        break;
        case 'b': input.execute("game_stats_build " + b);
        break;
      }
Run Code Online (Sandbox Code Playgroud)

这是多余的,每次我做出改变,我都要做很多打字.我怎么能写得更好?

Tit*_*tus 5

你可以这样做:

input.execute("game_stats_build " + window[event.key])
Run Code Online (Sandbox Code Playgroud)

但是不window应该使用,而应该在对象中保存这些值.

例如,而不是:

var t = "something";
var r = "something else"
Run Code Online (Sandbox Code Playgroud)

使用:

var obj = {t: "something", r: "something else"} 
Run Code Online (Sandbox Code Playgroud)

然后:

input.execute("game_stats_build " + obj[event.key])
Run Code Online (Sandbox Code Playgroud)