Как сделать оператор переключения более эффективным?

1

У меня есть следующий код

//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;
      }

Это избыточно, и каждый раз, когда я делаю изменения, мне приходится много печатать. Как я могу написать это лучше?

Теги:

1 ответ

4
Лучший ответ

Вы можете сделать что-то вроде этого:

input.execute("game_stats_build " + window[event.key])

но вместо использования window вы должны удерживать эти значения в объекте.

Например, вместо:

var t = "something";
var r = "something else"

использовать:

var obj = {t: "something", r: "something else"} 

а потом:

input.execute("game_stats_build " + obj[event.key])

Ещё вопросы

Сообщество Overcoder
Наверх
Меню