收藏
回答

wx.getStorageSync取值出现问题

框架类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 wx.getStorageSync 工具 6.6.2 1.5.3

使用wx.getStorageSync相同的方法,两次取出的长度不一样,请问是为什么呢?

第二次出现一个很奇怪的现象,显示是3个元素,但是长度变成1,求高手回答啊




回答关注问题邀请回答
收藏

23 个回答

  • 洋葱头
    洋葱头
    2018-02-05

    试试这样调用呢


    res = JSON.parse(JSON.stringify(wx.xxxxx))


    clone下回包输出

    2018-02-05
    有用
    回复
  • 洋葱头
    洋葱头
    2018-02-05

    明白了


    其实这个逻辑是没错的,是因为 console.log  的是引用 所以日志显示不对了



    2018-02-05
    有用
    回复
  • 洋葱头
    洋葱头
    2018-02-05

    基础库版本设置高一点试试呢


    1.5.3 在线上基本已经没有了

    2018-02-05
    有用
    回复
  • philly
    philly
    2018-02-05

    GOD-BOYpanky

    2018-02-05
    有用
    回复
  • W.
    W.
    2018-02-05

    方便加微信吗?有些不懂可以请教下?

    2018-02-05
    有用
    回复
  • philly
    philly
    2018-02-05

    要删缓存里面的数据你用filter过滤掉被删除的就行了,再重新setStorage就行

    2018-02-05
    有用
    回复
  • philly
    philly
    2018-02-05
    delete() {
    let cartData = [{id:1,name:'one'},{id:2,name:'two'},{id:3,name:'three'},{id:4,name:'four'}]// 后端得到的数据
     let ids = [1,3] // 你需要删除的id对应
     let showData = cartData.filter((item) => {
    let boll = ids.indexOf(item.id) // 查询对应的id是否在删除的数组里面
       return boll === -1 // 返回不在被删除的项
     }) // 最终视图层显示的数据
    }


    2018-02-05
    有用
    回复
  • philly
    philly
    2018-02-05

    你想要的就是要视图层不显示这删除的3个是吧,idxs是一个数组那很好解决,我给你写一段

    2018-02-05
    有用
    回复
  • W.
    W.
    2018-02-05

    我这个动作是清空购物车,通过传递数组的下标,把缓存里面的商品删除掉

    2018-02-05
    有用
    回复
  • W.
    W.
    2018-02-05

    ids匹配到的是3个下标,取出的数组也是对应这3个,那删除的结果应该是吧这3个数组都删除了,但是现在得到最后的结果是还剩一个数组,我想要的结果是清空的,图层不显示,不需要传后端



    2018-02-05
    有用
    回复

正在加载...

登录 后发表内容