Angular 如何删除本地存储中对象数组中的特定对象?(角度10+;)

Angular 如何删除本地存储中对象数组中的特定对象?(角度10+;),angular,typescript,local-storage,Angular,Typescript,Local Storage,我有一个对象数组(每个对象都是单个用户的详细信息),存储在本地存储器中,然后显示在用户表中。单击该对象记录(如表所示)的删除按钮时,我想删除本地存储中该对象数组中的特定对象。所以我认为应该发生的事情;当在表上单击特定对象记录的“删除”按钮时,数组中的对象位置应发送给删除函数,然后该函数将使用本地存储中的removeItem方法删除对象数组中该位置的对象 本地存储如下所示: 删除按钮(在表中的每个对象记录上都可以找到) 例如,我根本不知道如何删除“2:Object”,而不清除整个本地存储(上面的

我有一个对象数组(每个对象都是单个用户的详细信息),存储在本地存储器中,然后显示在用户表中。单击该对象记录(如表所示)的删除按钮时,我想删除本地存储中该对象数组中的特定对象。所以我认为应该发生的事情;当在表上单击特定对象记录的“删除”按钮时,数组中的对象位置应发送给删除函数,然后该函数将使用本地存储中的removeItem方法删除对象数组中该位置的对象

本地存储如下所示:

删除按钮(在表中的每个对象记录上都可以找到)

例如,我根本不知道如何删除“2:Object”,而不清除整个本地存储(上面的deleteUser函数就是这么做的)。

一个简单的方法

yourData = JSON.parse(localStorage.getItem("Users"))

yourNewData = []

for(i=0; i<yourData.length; i++) 
{ 
    if(yourData[i].yourKey !== "UserIDYouWantToDelete")
        {
            yourNewData.push(yourData[i]);
        }
}
localStorage.setItem("Users", JSON.stringyfy(yourNewData))
yourData=JSON.parse(localStorage.getItem(“用户”))
yourNewData=[]

对于(i=0;iYou可以通过过滤掉不需要的对象来创建一个新的JSON对象,然后重新将新对象字符串化保存。在delete函数get local storage中,过滤并再次设置deleteUser(){var local=localStorage.getItem('Users');if(local){var Users=JSON.parse(local);//您需要筛选本地存储并再次保存,请选择下面的任何筛选器只是示例var localStorage=users.filer(i=>i.id!==this.user.id);localStorage.setItem(“localStorage”,JSON.stringify(localStorage));}
ngOnInit(): void {
    this.user = JSON.parse(localStorage.getItem('Users') || '{}');
    this.userDataSource = new MatTableDataSource(this.user);
    this.deleteUser()
  }

  deleteUser() {
    localStorage.removeItem('Users')
  }
yourData = JSON.parse(localStorage.getItem("Users"))

yourNewData = []

for(i=0; i<yourData.length; i++) 
{ 
    if(yourData[i].yourKey !== "UserIDYouWantToDelete")
        {
            yourNewData.push(yourData[i]);
        }
}
localStorage.setItem("Users", JSON.stringyfy(yourNewData))