반응형
localstorage 관련해서 개발할 일이 있었는데
좋은 예제가 있어서 공유합니다.
왠만한 기능은 다있습니다.
function CheckPropDoup(array1,propName,propVal) {
for(var i=0,k=array1.length;i<k;i++){
if(array1[i][propName]===propVal) return true;
}
return false;
}
function saveStore(x,y,z) {
if(typeof(Storage)!=="undefined") {
var ds = JSON.parse(localStorage.getItem(x)) || [];
var obj = {};
obj[y] = z;
if(!CheckPropDoup(ds,y,obj[y])) ds.push(obj);
localStorage.setItem(x, JSON.stringify(ds));
}
}
function getStore(x) {
if(typeof(Storage)!=="undefined") {
return JSON.parse(localStorage.getItem(x)) || [];
}
}
function removeStore(x,y,z) {
if(typeof(Storage)!=="undefined") {
var ds = JSON.parse(localStorage.getItem(x)) || [];
ds.splice(ds.indexOf(z), 1);
// REMOVE item !!!
localStorage.setItem(x, JSON.stringify(ds));
}
}
saveStore('food', 'fruit','banana');
saveStore('food', 'fruit','apple');
saveStore('food', 'fruit','peach');
saveStore('food', 'fruit','grapes');
saveStore('food', 'fruit','watermelon');
alert( JSON.stringify(getStore('food')).replace(/,/g,',\n') );
removeStore('food', 'fruit','apple');
alert( JSON.stringify(getStore('food')).replace(/,/g,',\n') );
반응형
'Programming > Web' 카테고리의 다른 글
#로컬스토리지 배열에 객체 추가하기 예제 (1) | 2019.10.08 |
---|---|
#2차원 배열을 로컬스토리지 저장하는 예제 (0) | 2019.10.07 |