javascript - 如何使用少量代码将项目添加到我的 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()
. 所以代码会很大。
都是德语的,所以如果你需要任何翻译,请告诉我。另外,如果有任何信息丢失,请告诉我。
我希望你能帮助我。丹尼尔。
解决方案
您可以为每个主题拥有一个具有以下结构的对象,对象键将是路由名称和要导航到的路由的值:
const subjects = {
chemie: 'url-to-chemie...',
bio: 'url-to-bio...',
kust: 'url-to-kust...',
sport: 'url-to-sport...',
}
而不是你所有的 if ,假设 navigate 是一个导航到给定 url 的函数:
navigate(subjects[fach]);
推荐阅读
- android - 如何使用在 Playstore 中发布的相同包名创建新的 Flutter 应用程序?
- reactjs - 如何在地图中使用三元运算符
- typescript - 输入标记的苗条打字稿
- c - 使用 realloc 分配一个 INT_MAX-1 元素数组
- java - Discord4J:不存在类型变量 R 的实例,因此 void 符合 Mono
- excel - 无法进入下一行
- git - 运行 Android Studio 模拟器的问题:git setup 启动并尝试降级
- python - “conda update --all”是否足以升级到最新的 anaconda 版本?
- memory - 特定汉明距离的最大误码
- c# - 照片在上传 C# MVC 时损坏