Dynamically adding cases to a switch

后端 未结 2 1901
情书的邮戳
情书的邮戳 2020-12-03 08:44

I need to dynamically add cases to a switch. I want the user to be able to add items and every item needs it\'s own switch case.

2条回答
  •  青春惊慌失措
    2020-12-03 09:13

    You can use object with callback functions instead:

    var callbacks = {};
    
    function add(_case, fn) {
       callbacks[_case] = callbacks[_case] || [];
       callbacks[_case].push(fn);
    }
    
    function pseudoSwitch(value) {
       if (callbacks[value]) {
          callbacks[value].forEach(function(fn) {
              fn();
          });
       }
    }
    

    and you can add new entry using:

    add('something', function() {
       // case for something
    });
    

提交回复
热议问题