当我浏览一些文章时,我想在URLs
中保存一些localStorage
。到目前为止,我写的代码我设法做到了,除了当我遇到我已经查看的相同文章时,它再次保存了他们的网址,因此无需占用空间存储空间。
这是我的代码:
var i = 0;
$(window).on('scroll', function() {
if (!localStorage.getItem('names')) {
var data = [];
} else {
var data = JSON.parse(localStorage.getItem('names'));
}
var x = $("article");
var url = x.eq(i).attr("data-entry-url");
data.push(url);
if ($(window).scrollTop() >= x.eq(i).offset().top && url !== data) {
localStorage.setItem("names", JSON.stringify(data));
console.log(data);
i++;
}
});
我在那里设置了if url !== data
条件,以检查特定文章网址是否已在localStorage
中设置,以便再次停止添加,但无效。我该怎么检查呢?
答案 0 :(得分:0)
url
是字符串类型,data
数组类型在比较时永远不会为真。因此,如果您与单个网址进行比较,则必须遵循if(url == data[0])
;如果您使用数据数组中的所有网址进行检查,则必须遵循if(data.indexOf(url) >= 0)
。
试试吧。
答案 1 :(得分:0)
data是一个数组,所以我们需要使用javascript filter
函数在数组中循环,然后将其与url进行比较。
如果您需要进一步澄清示例代码,请与我们联系