我有一个页面,我在刷新时显示随机文本,但我也尝试使用localStorage保存已查看的文本以避免重复。
我遇到的问题是这种情况:
if ((localStorage.getItem("viewedTips") !== null) && (viewedTips.indexOf(n) == -1)) {...}
seenTips.indexOf(n)== -1的行为不符合我的预期。我们的想法是检查字符串(n)是否已存储在var ViewedTips中,如果存在,则不会执行我的代码块。
我确认visualTips正确存储我以前使用的字符串,但即使" n"是一个在ViewedTips中找到的重复值,我的代码仍然会执行,忽略indexOf不应该返回的事实" -1"。
更令人费解的是,如果我设置"(seenTips.indexOf(n)!== -1))" (注意使用"!"),我的代码块将不会执行。
任何建议都非常受欢迎。
更新
Artem抓住了我的错误。谢谢,Artem!
答案 0 :(得分:0)
您使用旧的ViewedTips值,请尝试
if ((localStorage.getItem("viewedTips") !== null) && (localStorage.getItem("viewedTips").indexOf(n) == -1)) {...}