数组存储后取出来是空,帮忙看看
发布于 4 年前 作者 eyang 17184 次浏览 来自 问答

一下这段代码有错吗,存进去后取出来是个空的

var bookread = [];

bookread[‘index’] = 2;

wx.setStorageSync(‘bookread’, bookread);

var bookread = wx.getStorageSync(‘bookread’);

console.log(bookread);

2 回复

https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxsetstoragesynckeydata

看了下 wx.setStorageSync API ,此参数是直接支持Object的 ,猜测是此方法会自动JSON.stringify

你这个问题在于 当数组含非数字key(非下标),将被JSON.stringify(obj)去除

你代码中的  JSON.stringify(bookread)  就是 “[]”

var bookread = {};

bookread[‘index’] = 2;

wx.setStorageSync(‘bookread’,JSON.stringify(bookread));

var bookread1 = wx.getStorageSync(‘bookread’);

console.log(JSON.parse(bookread1))

回到顶部