使用Javascript在forEach中进行切换是不好的做法吗?

book.forEach(function (getBook, i) {
  switch (getBook) {
  case path:
    string = 'some html';
    break;
  };
});


我的理解是,这将为每个getBook实例创建一个开关。假设其中有100个。然后,我有100个单独的开关。那不好吗?

最重要的是,有人有更好的方法吗?似乎只有一个开关而不是一堆开关会更好。

最佳答案

在此示例中,调整当前代码,您可以执行以下操作-

bookActions = {};

bookActions['path'] = function() { // or the real way you're loading these
    // other code to generate that you would have had in
    // the switch case
    return 'some html';
};


然后再像以前一样处理100个左右的案件

book.forEach(function(getBook, i) {
    if (bookActions[getBook]) {
        string = bookActions[getBook]();
    }
});


这样,我使用文字对象作为字符串(代码中的getBook)和函数(开关盒体)之间的映射。

关于javascript - 在forEach中使用Javascript进行切换是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28734393/

10-09 04:58