gpt4 book ai didi

javascript - 从 localStorage Angular 的数组中删除项目

转载 作者:行者123 更新时间:2023-12-01 00:44:46 26 4
gpt4 key购买 nike

我已经尝试这样做有一段时间了,下面的代码是我目前拥有的代码,当我只有一个数组时它可以工作,但是当我运行删除函数时整个应用程序都会卡住并且我无法退出,有人可以告诉我我做错了什么吗?我为每个输入的数组自动添加 id,但我不知道为什么它会卡住

/*Favourites Service */
public deleteLocalStorage(id, i ): void {
const currentArray = this.storage.get(this.STORAGE_KEY);
for (i = 0; i < currentArray.length;) {
if (currentArray[i].id === id) { currentArray.splice(i, 1); }
}
// insert updated array to local storage
this.storage.set(this.STORAGE_KEY, currentArray);
}
/*Home page Delete function*/
deleteFav(id, i) {
this.Local.deleteLocalStorage(id, i);
console.log(id, i);
}
<div class="panel col-5" (click)="deleteFav(stop.id, i)">
<img class="panel-remove" src="assets/img/icon_remove.png" />
</div>

最佳答案

不是将数组存储在本地存储中,而是在存储时对数组进行字符串化,并在获取时仅解析它。这样,您就不会在本地存储中存储复杂的数组,而是存储字符串。


public deleteLocalStorage(id, i ): void {
const currentArray = JSON.parse(this.storage.get(this.STORAGE_KEY));
for (i = 0; i < currentArray.length; ++i) {
if (currentArray[i].id === id) { currentArray.splice(i, 1); }
}
// insert updated array to local storage
this.storage.set(this.STORAGE_KEY, JSON.stringify(currentArray));
}


localStorage.set(key, JSON.stringify(arr));

let x = JSON.parse(localStorage.get(key));

关于javascript - 从 localStorage Angular 的数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57481551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com