我正在创建一个简单的电视节目跟踪器(目前我已经看过/正在观看的电视跟踪器),并且由于我自己没有后端,所以我决定将所有数据存储在本地存储中。
现在,我可以将所有节目存储在本地存储中,而不会出现任何问题。当我需要更新本地存储中的数据时会发生问题(为您提供一个特定的示例-请查看下面的屏幕):

screenshot of my list with local storage shown

如您所见,我有那些按钮可以调整节目的季节和剧集的数量(它们很好用)。
但是我不知道如何将更新后的值和该值仅存储在本地存储中。
在下方,您可以找到从本地存储读取数据并使用它们创建列表的代码:

    function readFromMemory(){
    const data = JSON.parse(localStorage.getItem('seriale'));
    data.forEach(element => {
        serialeMemory.push(element);
        let serialInMemory = new SerialeList(element.pos, element.img, element.name, element.score, element.userEpisodes, element.episodes,element.userSeasons, element.seasons, element.status, element.id);
        serialInMemory.inject(); //Creates list from class
        serialInMemory.episodeUpDown(); //Gives functionality to episodes buttons
        serialInMemory.seasonUpDown(); //Give functionality to seasons buttons
    });
    deleteSerialRow(); //method to delete the whole row from list and from local storage
}


我知道如何使用Array.prototype.filter方法过滤出仅显示我想要的内容。但是我不知道如何仅将那一行推入localstorage

我很高兴获得任何见识。

谢谢。

最佳答案

好吧,因为您只使用一个键(“ seriale”),所以没有其他方法可以反序列化它,相应地修改对象(例如,使用Array.prototype.splice),再次对其进行序列化,然后使用相同的键和更新的键调用localStorage.setItem和序列化的对象。

07-28 02:42
查看更多