首页 > 解决方案 > 如何使用少量代码将项目添加到我的 sessionStorage?

问题描述

我希望我的用户点击不同<a>的 s。单击其中两个后,我想将我的用户引导到另一个站点。clicked 的不同组合<a>应该导致不同的站点。

我基本上知道该怎么做,但是我的代码会非常非常长,并且需要花费大量时间来为每个组合填写每个命令。

由于我对 javascript 比较陌生,所以我不知道如何缩短我的代码。

到目前为止,这是我的代码:

var stufe = sessionStorage.getItem('stufe');
var fach = sessionStorage.getItem("fach");

if(stufe == "c5"){
          if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "mathe"){

          }
          else if(fach == "englisch"){

          }
          else if(fach == "religion"){

          }
          else if(fach == "musik"){

          }
          else if(fach == "kunst"){

          }
          else if(fach == "geografie"){

          }
          else if(fach == "sport"){

          }
          else if(fach == "bio"){

          }
          else if(fach == "chemie"){

          }
          else if(fach == "physik"){

          }
          else if(fach == "französisch"){

          }
          else if(fach == "latein"){

          }
          else if(fach == "nwt"){

          }
          else if(fach == "imp"){

          }
          else if(fach == "italienisch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
          else if(fach == "deutsch"){

          }
        }

它将至少重复五次。我必须window.location.replace(...) 在每个else if(). 所以代码会很大。

都是德语的,所以如果你需要任何翻译,请告诉我。另外,如果有任何信息丢失,请告诉我。

我希望你能帮助我。丹尼尔。

标签: javascript

解决方案


您可以为每个主题拥有一个具有以下结构的对象,对象键将是路由名称和要导航到的路由的值:

const subjects = {
  chemie: 'url-to-chemie...',
  bio: 'url-to-bio...',
  kust: 'url-to-kust...',
  sport: 'url-to-sport...',
}

而不是你所有的 if ,假设 navigate 是一个导航到给定 url 的函数:

navigate(subjects[fach]);

推荐阅读