HTML5 LocalStorage-检查重复值
HTML5 LocalStorage - check for duplicate values
我正在使用LocalStorage将图像列表(从库中)保存到设备中。我已经在很大程度上解决了这个问题——输入和输出数据,并填充其中项目的HTML列表。容易的
我现在正尝试签入以查看正在保存的项目,检查数据库中的所有值,只有在不重复的情况下才添加它。在我建造这座建筑的过程中,我陷入了一个越来越深的困境,正处于需要帮助的地步。
这是我目前的功能:
function storeFavourite(currentImage) {
for (var i=0; i < localStorage.length; i++) {
item = localStorage.getItem('fav'+i);
if (item = currentImage) {
console.log('fav'+i+', '+currentImage+' in db already');
} else {
next = localStorage.length;
localStorage.setItem('fav'+next, currentImage);
console.log('fav'+next+', '+currentImage);
updateFavouritesList();
}
}
}
这一团糟,我完全弄糊涂了。有人能帮我弄清楚吗?
如果需要,我一点也不反对重新格式化数据结构。目前的密钥是fav0
、fav1
等等
那里使用的updateFavouritesList()
函数只是在localStorage数据库上迭代,并从中创建<li>
项以添加到列表中。
行中有一个错误:
if (item = currentImage) {
您正在分配item
。如果item
不是null/empty/zero/falsy,那么它将始终解析为true
。也许应该是:
if (item == currentImage) {
甚至:
if (item === currentImage) {
取决于currentImage是哪种类型。
编辑:在任何情况下,这里有一个功能,它将做你想要的:
function storeFavourite(item) {
for (var i in localStorage) {
if (localStorage[i] === item) return;
}
localStorage["fav" + localStorage.length] = item;
}
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 如何检查管道中未定义的项目
- 主干-不管怎样,检查事件以前是否绑定过
- 如何将localStorage值设置为false
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 递归使用 eval() 是检查程序执行的好方法吗?
- 检查onsubmit doenst work jquery contactform上的函数
- 有没有办法在ngif(AngularJS)中检查localStorage变量
- HTML5 LocalStorage-检查重复值
- 如何在localStorage中检查值的重复
- 检查非空不与localStorage工作
- HTML5 LocalStorage:检查一个键是否存在
- 如何检查我是否有一个特定的值在我的localStorage
- JQuery检查是否设置了localStorage
- 检查localStorage中是否存在变量的值
- 检查localStorage.removeItem()是否成功
- 如何检查窗口.localStorage包含任何值
- 检查对象是否位于 localStorage 中的 AngularJS 数组中