indexOf条件不起作用

时间:2014-06-30 21:51:53

标签: javascript

我有一个页面,我在刷新时显示随机文本,但我也尝试使用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!

1 个答案:

答案 0 :(得分:0)

您使用旧的ViewedTips值,请尝试

if ((localStorage.getItem("viewedTips") !== null) && (localStorage.getItem("viewedTips").indexOf(n) == -1)) {...}