javascript - 在会话存储中设置嵌套对象值
问题描述
大家好,每个人都很难更新我存储在会话存储中的值。我尝试了几种方法来定位嵌套对象值,但没有成功。任何帮助将不胜感激。
我在 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')
解决方案
你不能那样做。您必须检索整个对象,对其进行解析,更改您想要的内容,然后将其放回存储中:
var projectInfo = JSON.parse(sessionStorage.getItem('projectInfo'));
projectInfo.project1.name = 'Student Fund raiser';
sessionStorage.setItem('projectInfo', JSON.stringify(projectInfo));
注意:sessionStorage.getItem
如果对象尚未存储,您不妨检查是否返回某些内容。
推荐阅读
- shell - 如何获得在bash中同时具有加法和减法符号的总和?
- python - 试图将一个 python 程序转换为 exe,但它没有转换并显示它正在转换过程中,即使在 10 小时后
- sapui5 - 在 SplitApp 中导航到具有动画的相同细节视图
- java - 当父类是包私有并且来自另一个模块时,javadoc生成“扩展对象”而不是真正的类
- r - 向 ggplot2 geoms 传递额外的参数:使用省略号 (...)
- python-3.x - 基于数据点集群的散点图颜色条
- sql - 将多行中的值连接到单行中
- python-3.x - 有没有办法给出一个灰度图像,其中 1 个通道 2 个添加的通道仅由零组成?
- javascript - 如何动态更改 DrawerNavigator 的 navigationOption(标题)?
- jinja2 - 如何在范围函数中使用带有整数变量值的字符串?