javascript - 检查 sessionStorage 中的多个键的条件
问题描述
我需要检查 sessionStorage 中的 3 个键是否等于已完成。是否有 sessionStorage 的内置参数或函数允许我检查 3 个键是否等于已完成。以下是我尝试过的一些示例。
第一个示例小而干净,但我认为我一次不能拉出超过 1 个键,因此代码会中断。
if (sessionStorage.getItem("lessonOne", "lessonTwo", "lessonThree") === "completed") {
SetSCOComplete();
} else {
alert("Course not complete");
}
我也尝试过遍历数组,但这似乎效率不高。
for (var i = 0; i < sessionStorage.length; i++) {
var key = sessionStorage.key(i);
var value = sessionStorage.getItem(key);
console.log('Key: ' + key + ', Value: ' + value);
var num_matches = value.match(/d/gi).length;
if (num_matches <= 3) {
SetSCOComplete();
} else {
alert("Course not complete");
}
}
}
如果有更好的方法来处理这个问题,我想了解更多关于这些选项的信息。提前致谢。
解决方案
制作一组需要完成的课程并将其传递到Array.every中检查 sessionStorage 的位置。
var courseComplete = ["lessonOne", "lessonTwo", "lessonThree"].every(
lesson => sessionStorage.getItem(lesson) == "completed"
);
console.log(courseComplete); // true or false
推荐阅读
- wpf - Silverlight - 字体作为图标渲染太扭曲/像素化
- sqlite - 更新表A时如何在表B上插入行,使用SQLlite中的触发器
- django - Django:SQL注入的预防措施
- python - Python 简单的 madlibs 生成器 random.randint 在 while 循环中
- python - 使用修改后的 python 解释器进行进程间通信
- r - R lwd 低于 1 实际值
- ios - 从远程服务器 URL 加载 SCNScene
- java - 如果您在控制台中输入的单词在 Java 中是否是回文,则使程序成为您
- html - HTML 母版页?如何在另一个 HTML 文件中包含一个 HTML 文件?
- java - NoSuchElement 异常