Programming/Web

#LocalStorage 예제

현무랑 2019. 10. 11. 09:00
반응형

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') );

 

출처 http://jsfiddle.net/5N7r3/1/

반응형