【微信小程序】数组push后,数组返回内容为数字

需求:从接口获取数据后,将数据拼接进缓存,实现缓存更新.

然后遇到了下面的问题。。。

// 获取缓存数据,若无缓存则为空数组
var storageData = wx.getStorageSync('data') || []; 
console.log(storageData, storageData.push(obj) );

// 将新获取的数据 obj 放入数组arr,并重新存入缓存
var arr = storageData.push(obj);        
console.log(arr,obj);

//存入缓存
wx.setStorageSync('data', arr);  

通过源代码可知,打印 storageData 是没问题的,obj 正常的push进去了,可 storageData.push(obj) 打印出来却是1


这让我百思不得其解。。。于是我看了眼菜鸟教程关于`push`的解释

在这里插入图片描述

好吧破案了,push改变原数组。。。直接拿原数组用就好了,不要拿push后的返回值

猜你喜欢

转载自blog.csdn.net/MinfCONS/article/details/124957098
今日推荐