如何使用sessionStorage存储数组以满足指定代码返回‘Banana’?
实现Web Storage存储水果数组的解决方案
要让JSON.parse(sessionStorage.getItem('fruits'))[0].name返回'Banana',核心是先创建包含目标对象的数组,再转成JSON字符串存入sessionStorage,具体步骤如下:
第一步:声明包含水果对象的数组
直接创建数组,把name为'Banana'的对象放在数组第一个位置:// 创建包含水果对象的数组,第一个元素是Banana const fruitsArray = [{ name: 'Banana' }, { name: 'Apple' }]; // 可按需添加其他水果第二步:将数组转为JSON字符串
sessionStorage仅支持存储字符串类型,所以必须用JSON.stringify()把数组序列化为JSON字符串:const fruitsJSON = JSON.stringify(fruitsArray);第三步:存入sessionStorage
用setItem方法将JSON字符串存入,键名设为'fruits':sessionStorage.setItem('fruits', fruitsJSON);验证取值
执行以下代码即可得到预期结果:const result = JSON.parse(sessionStorage.getItem('fruits'))[0].name; console.log(result); // 输出 'Banana'
关键注意点
- sessionStorage的存储值只能是字符串,任何非字符串类型(数组、对象)都需要先通过
JSON.stringify()转换,读取时再用JSON.parse()解析回原类型。 - 如果只需要单个Banana对象的数组,数组里只保留
{ name: 'Banana' }这一个元素即可,不影响最终取值结果。
内容的提问来源于stack exchange,提问作者Nat
相关产品推荐
相关产品推荐

