2011-11-14 15 views
5

gerektirir beri bir anahtarın içindeki sadece 1 diziyi nasıl silerim: Ben nasıl silerimlocalStorage & JSON: localstorage.removeItem benim localStorage içinde bu var tüm anahtar

[{"id":"item-1","href":"google.com","icon":"google.com"}, 
{"id":"item-2","href":"youtube.com","icon":"youtube.com"}, 
{"id":"item-3","href":"google.com","icon":"google.com"}, 
{"id":"item-4","href":"google.com","icon":"google.com"}, 
{"id":"item-5","href":"youtube.com","icon":"youtube.com"}, 
{"id":"item-6","href":"asos.com","icon":"asos.com"}, 
{"id":"item-7","href":"google.com","icon":"google.com"}, 
{"id":"item-8","href":"mcdonalds.com","icon":"mcdonalds.com"}] 

sadece localstorage.removeItem tüm gerektirir id:item-3 zaman anahtar?

Dizide belirli bir değeri güncelleştirmek için bu yöntemi kullanıyorum: http://jsfiddle.net/Qmm9g/ aynı yöntemi kullanarak belirli bir diziyi silmek istiyorum.

Silmek için zaten bir düğme olduğunu unutmayın. Ben işe yarayacağını böyle ID:item-3

cevap

8

Something ile tüm diziyi ({"id":"item-3","href":"google.com","icon":"google.com"}) silecektir bir işlev istediğiniz düğme, Gerçi bunu yapmak için iyi yolu olmadığından emin değilim. Orada belki daha iyi bir yerel depolama özgü bir yol -

var json = JSON.parse(localStorage["results"]); 
for (i=0;i<json.length;i++) 
      if (json[i].id == 'item-3') json.splice(i,1); 
localStorage["results"] = JSON.stringify(json); 
+0

Teşekkür ederiz! Ne aradığımı – jQuerybeast

6

Böyle tüm nesneyi kaldırmak için JavaScript'in splice yöntemiyle birlikte jQuery'nin $.each() işlevini kullanabilirsiniz:

$.each(json, function(index, obj){ 
    if (obj.id == 'item-3') { 
     json.splice(index,1); 
     console.log(json); 
     localStorage["results"] = JSON.stringify(json); 
     return false; 
    } 
}); 

Güncelleme Fiddle: http://jsfiddle.net/Qmm9g/3/

Umarım bu yardımcı olur!

+0

Cevabınız için teşekkürler. Cevabınız ipr101 ile aynı olsa da, daha hızlı cevap verdiğinden dolayı kabul ettim – jQuerybeast

1

Bu, localStorage nesnesini silme kodum.

{ 
"admin": { 
    "pass": "1234", 
    "task": [ 
     {"id": "1", "taskName": "assignedTask", "taskDesc": "jhdjshdh"}, 
     {"id": "2", "taskName": "assignedTask", "taskDesc": "jhdjshdh"}, 
     {"id": "3", "taskName": "assignedTask", "taskDesc": "jhdjshdh"}, 
     {"id": "4", "taskName": "assignedTask", "taskDesc": "jhdjshdh"} 
    ] 
} 


    function filterData() { 
     var data = JSON.parse(localStorage.task); 
     //console.log(data); 
     var newData = data.filter(function(val){ 
      return (val.YourPropertyName !== key.value && val.YourPropertyName !== val.value); 
     }); 
     localStorage.task = JSON.stringify(newData); 
    }