首页 > 解决方案 > 在会话存储中设置嵌套对象值

问题描述

大家好,每个人都很难更新我存储在会话存储中的值。我尝试了几种方法来定位嵌套对象值,但没有成功。任何帮助将不胜感激。

我在 JavaScript 中创建的对象

   var projectInfo = {
        project1: {
            name: 'Unique name',
            extraCredit: true
        }
        project2: {
            name: 'Unique name',
            extraCredit: true
        }
    }

我如何坚持会话

sessionStorage.setItem('projectInfo', JSON.stringify(projectInfo));

如何在项目信息中定位嵌套项目名称。例如

sessionStorage.setItem(projectInfo.project1.name, 'Student Fund raiser')

标签: javascriptsession-storage

解决方案


你不能那样做。您必须检索整个对象,对其进行解析,更改您想要的内容,然后将其放回存储中:

var projectInfo = JSON.parse(sessionStorage.getItem('projectInfo'));
projectInfo.project1.name = 'Student Fund raiser';
sessionStorage.setItem('projectInfo', JSON.stringify(projectInfo));

注意:sessionStorage.getItem如果对象尚未存储,您不妨检查是否返回某些内容。


推荐阅读