微信小程序报错unshift is not a function

微信小程序多条数据同步缓存报错:
报错提示:test1.unshift is not a function; [Component] Event Handler Error @ pages/index/index#bound setsto
TypeError: test1.unshift is not a function
源代码:

Page({
confirm(e){
  this.data=e.detail.value;
},
setsto(){
  var test1=wx.getStorageSync('key1') || [];
  test1.unshift(this.data);
  wx.setStorageSync('key1', test1); 

},
history(){
  wx.navigateTo({
    url: '../index/history',
  })
},
})

原因:当第一次触发这个函数的时候,如果wx.getStorageSync(‘key1’)已经有值了,test将无法获取到[],所以下面使用test.unshift(this.data);会报错提示unshift没有定义
解决办法: 先用console.log(test1);查看下test1中获取的值,如果test1不是数组形式,说明没有获取到[],这时需要先用wx.removeStorageSync(‘key1’)移除key1的内容,再引入test1来获取key1的内容

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值