繁体   English   中英

如何从本地存储中删除数组中的一个元素?

[英]How to delete only one element in an array from the local storage?

var details = [{
    "Name": "Bhavani",
        "Phone No": ["123456", "123456"],
        "Email Id": ["mamata@gmail.com", "mamata@yahoo.com"],
        "Birthday": "21/16/22/33"
}, {
    "Name": "Mamata",
        "Phone No": ["123456", "123456"],
        "Email Id": ["mamata@gmail.com", "mamata@yahoo.com"],
        "Birthday": "21/16/22/33"
}];

function add() {
    localStorage.setItem('contacts', JSON.stringify(details));
    str = localStorage.getItem("contacts");
}

function removeItems(){
  var s = localStorage.removeItem("contacts");
  alert(s);
}

JSFiddle演示

如何删除数组中的一个元素而不删除整个本地存储?

问题下我的评论的代码示例-从Mamata删除电子邮件ID:

var details = JSON.parse(localStorage.getItem('contacts'));
details.filter(function(e) {
  return e.Name === "Mamata"
}).forEach(function(element) {
  delete element["Email Id"];
});
localStorage.setItem('contacts', JSON.stringify(details));

编辑 :如果要删除整个记录而不是其中的字段,则应这样做:

var details = JSON.parse(localStorage.getItem('contacts'));
details = details.filter(function(e) {
  return e.Name !== "Mamata"
});
localStorage.setItem('contacts', JSON.stringify(details));
localStorage.setItem("contacts",localStorage.getItem("contacts").split(',').splice(...));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM