我在本地存储中保存了一个数组:
var myLikes = [];
myLikes[0] = {'slide':slide_id}
localStorage.setItem("myCollection", JSON.stringify(myLikes));
接下来,我需要检查新值是否唯一,如果不是,则将其添加到 myCollection 数组中。我正在尝试这样做:
var slide_id = $$('#likes').attr('slide_id');
var arrayLikes = JSON.parse(localStorage.getItem('myCollection'));
for (var i = 0; i < arrayLikes.length; i++) {
if (slide_id == arrayLikes[i].slide) { // dublicate
console.log('Dublicate');
} else {
console.log('New' + arrayLikes[i].slide);
arrayLikes.push({'slide':slide_id});
localStorage.setItem("myCollection", JSON.stringify(arrayLikes));
}
}
结果,检查不起作用,所有值都被添加到本地存储中,包括重复项 + 数组开始呈指数增长。
我做错了什么,我该如何正确检查?
对象方法将大大简化此任务。
例如,您可以继承自
Array:🔷 Демо в JSbin