Jquery 添加到本地存储
我使用本地存储将json数据添加为收藏夹。出于某种原因,当我添加多个收藏夹时,它会删除本地存储中已有的收藏夹Jquery 添加到本地存储,jquery,json,local-storage,Jquery,Json,Local Storage,我使用本地存储将json数据添加为收藏夹。出于某种原因,当我添加多个收藏夹时,它会删除本地存储中已有的收藏夹 $('.favoritesbtn').click(function() { var storedbar = JSON.parse(localStorage.getItem('storedBar')); var favArray = []; favArray.push(storedbar.id, storedbar.barname, sto
$('.favoritesbtn').click(function() {
var storedbar = JSON.parse(localStorage.getItem('storedBar'));
var favArray = [];
favArray.push(storedbar.id, storedbar.barname, storedbar.address, storedbar.description, storedbar.image);
localStorage.setItem('favourites', JSON.stringify(favArray));
console.log(localStorage.getItem('favourites'));
将行var favArray=[];点击不到事件
var favArray = []; //here
$('.favoritesbtn').click(function() {
var storedbar = JSON.parse(localStorage.getItem('storedBar'));
favArray.push(storedbar.id, storedbar.barname, storedbar.address, storedbar.description, storedbar.image);
localStorage.setItem('favourites', JSON.stringify(favArray));
console.log(localStorage.getItem('favourites'));
这是预期的行为。 本地存储是一个键值存储,当您在一个已经存在的键值中写入数据时,它将被覆盖 为了添加一个值,您需要解析现有值,添加一个项并再次写入
var storedFavs = JSON.parse(localStorage.get('favourites') || '[]');
storedFavs.push(storedbar.id, storedbar.barname, storedbar.address, storedbar.description, storedbar.image);
localStorage.setItem('favourites', JSON.stringify(storedFavs));
您正在编写一个包含一个元素的数组,首先需要读入您的收藏夹,将新元素添加到其中,然后将其保存回去。尝试类似的方法,尽管您可能希望添加一些检查来处理没有优惠的情况,然后使用空数组等等
var storedbar = JSON.parse(localStorage.getItem('storedBar'));
var favArray = JSON.parse(localStorage.getItem('favourites'));
favArray.push(storedbar.id, storedbar.barname, storedbar.address, storedbar.description, storedbar.image);
localStorage.setItem('favourites', JSON.stringify(favArray));
console.log(localStorage.getItem('favourites'));