当前位置: 首页 > wzjs >正文

微信里我的微站是怎么弄的保定建站公司模板

微信里我的微站是怎么弄的,保定建站公司模板,wordpress红色,科技木是什么材料直接使用 Map 会遇到的问题及解决方案 直接使用 Map 会导致数据丢失,因为 JSON.stringify 无法序列化 Map。以下是详细分析及解决方法: 问题复现 // 示例代码 const myMap new Map(); myMap.set(user1, { name: Alice }); myMap.set(user2, { name: B…

直接使用 Map 会遇到的问题及解决方案

直接使用 Map 会导致数据丢失,因为 JSON.stringify 无法序列化 Map。以下是详细分析及解决方法:


  1. 问题复现
// 示例代码
const myMap = new Map();
myMap.set('user1', { name: 'Alice' });
myMap.set('user2', { name: 'Bob' });// 保存 Map
utilts.setValuePlan('myMap', myMap); // 实际存储的是空对象 `{}`// 读取 Map
const loadedMap = utilts.getValuePlan('myMap'); 
console.log(loadedMap); // 输出 `{}`,数据丢失!

  1. 根本原因
    JSON.stringify 不支持 MapMap 对象会被转换为空对象 {},导致数据丢失。

JSON.parse 无法还原 Map:即使手动存储 Map 的内容,读取时也无法自动恢复为 Map


解决方案(不修改存储函数)

方法 1:存储时手动转换 Map 为数组
在调用 setValuePlan 前将 Map 转换为数组,读取时再转回 Map

示例代码

// 保存 Map
const myMap = new Map();
myMap.set('user1', { name: 'Alice' });
myMap.set('user2', { name: 'Bob' });// 转换为数组 [[key1, value1], [key2, value2]]
const mapArray = Array.from(myMap.entries());
utilts.setValuePlan('myMap', mapArray); // ✅ 正确存储// 读取时转回 Map
const loadedArray = utilts.getValuePlan('myMap') || [];
const loadedMap = new Map(loadedArray); // ✅ 恢复为 Map

方法 2:封装工具函数
创建 Map 专用的存取函数,隐藏转换逻辑。

示例代码

// 保存 Map
export function setMapValue(key, map) {const mapArray = Array.from(map.entries());utilts.setValuePlan(key, mapArray);
}// 读取 Map
export function getMapValue(key) {const mapArray = utilts.getValuePlan(key) || [];return new Map(mapArray);
}// 使用示例
const myMap = new Map();
myMap.set('user1', { name: 'Alice' });
setMapValue('myMap', myMap); // ✅ 存储const loadedMap = getMapValue('myMap'); // ✅ 恢复

关键总结

步骤操作代码示例
存储转换 Map 为数组utilts.setValuePlan(key, Array.from(map.entries()))
读取转换数组为 Mapnew Map(utilts.getValuePlan(key))

注意事项

  1. 数据兼容性:确保旧数据是数组格式(如 [[key1, value1], [key2, value2]])。
  2. 空值处理:读取时处理可能的 null 或无效数据:
    const mapArray = utilts.getValuePlan(key) || [];
    
  3. 嵌套对象:如果 Map 的值包含不可序列化对象(如 Date),需额外处理。

通过手动转换 Map 和数组,可以在不修改现有存储函数的情况下安全使用 Map


文章转载自:

http://qedQVcEn.ykkLw.cn
http://5kXrzqHS.ykkLw.cn
http://ApRuD8Oc.ykkLw.cn
http://FbpwRox9.ykkLw.cn
http://oSvDj367.ykkLw.cn
http://EA2ySioW.ykkLw.cn
http://mmxxRAXL.ykkLw.cn
http://8DHeOh7G.ykkLw.cn
http://7qNL0YxE.ykkLw.cn
http://Gn3w4dsF.ykkLw.cn
http://kHZTu92j.ykkLw.cn
http://CRK3JUYd.ykkLw.cn
http://C0993CKH.ykkLw.cn
http://sxzh6uTQ.ykkLw.cn
http://xVfYX9c9.ykkLw.cn
http://ROacEsjR.ykkLw.cn
http://9LERoc4t.ykkLw.cn
http://EgTOS2QE.ykkLw.cn
http://ZFzmdkJz.ykkLw.cn
http://RF3LOZuH.ykkLw.cn
http://i2diozre.ykkLw.cn
http://iwWmlFTA.ykkLw.cn
http://qRpZNGZb.ykkLw.cn
http://Nb3z4XOd.ykkLw.cn
http://Q24dVW0b.ykkLw.cn
http://VxQlyYIT.ykkLw.cn
http://9KdlO2h0.ykkLw.cn
http://6AlU7y02.ykkLw.cn
http://lGMGF57c.ykkLw.cn
http://91y328LL.ykkLw.cn
http://www.dtcms.com/wzjs/756162.html

相关文章:

  • .net网站开发模板网推是什么意思
  • 成都产品网站建设国家企业信用公示信息年报入口
  • 网站版权问题开放平台如何赚钱
  • 简单的网站建设网站代码优化多少钱
  • 在网站上投放广告wordpress 时间轴 主题
  • 网站开发项目工期流程邯郸做网站公司哪家好
  • 用asp做网站的流程图片展示 wordpress
  • 自己怎么建立微网站后台电商网站设计多少钱
  • 网站建设申请费用沧州网站建设一网美联
  • 南通个人网站制作制作网页小图片
  • 网站开发与设计课程设计php网站转移
  • 自己怎么做优惠卷网站汽车之家在线官网
  • 视频建设网站网站建设需要的技术设备
  • 网站建设证据保全泗阳网站定制
  • 网站百度关键词seo排名优化wordpress文章表情
  • 省建设厅执业资格注册中心网站泰安网站建设课程报告
  • 不建网站可不可以做cpa手机网站源码大全
  • 东莞整合网站建设营销大型门户网站建设方案
  • 温州定制网站建设电话wordpress本地怎么搬家
  • 网站建设与信息安全培训小结公司名称大全二字
  • 陕西住房和城乡建设厅网站6丽江网站建设 莱芜
  • 做AE视频素材在哪些网站上可以找网站建站服务的公司
  • 长岭建设局网站苏州网站建设-中国互联
  • 陕西省建设工程质量安全监督总站网站阳江58同城招聘网
  • phpcms wap网站搭建软件开发工程师绩效考核指标
  • 常熟市建设局网站网站推广计划效果
  • 衡量一个网站的指标建设银行u盾用网站打不开
  • 网页翻译器在线翻译网站优化客户报表
  • 尧都区建设厅官方网站wordpress标签球形
  • 网站架构优化微科技h5制作网站模板下载