Javascript localStorage.setitem不存储具有拥有数组值的键的对象;
当对象的键具有数组值时,localStorage.setItem会错误地存储对象值Javascript localStorage.setitem不存储具有拥有数组值的键的对象;,javascript,angular,typescript,Javascript,Angular,Typescript,当对象的键具有数组值时,localStorage.setItem会错误地存储对象值 var obj = data : { cachedat : ['1' , 2 , 3] }; localStorage.setItem('data' , JSON.stringify(obj) ); 但是 您应该向JSON.stringify传递一个对象: var obj = {data: { cachedat : ['1' , 2 , 3] }}; localStorage.setItem('data' ,
var obj = data : { cachedat : ['1' , 2 , 3] };
localStorage.setItem('data' , JSON.stringify(obj) );
但是
您应该向JSON.stringify传递一个对象:
var obj = {data: { cachedat : ['1' , 2 , 3] }};
localStorage.setItem('data' , JSON.stringify(obj) );
var arr = JSON.parse(localStorage.getItem('data')) ;
您的代码必须是:
var obj = {'data' : { 'cachedat' : ['1' , 2 , 3] }}
localStorage.setItem('data' , JSON.stringify(obj) );
您可以这样做:
var obj = {
data: { cachedat:[1 , 2 , 3] }
};
localStorage.setItem('data' , JSON.stringify(obj));
var output = JSON.parse(localStorage.getItem('data'));
console.log(output);
上述代码的输出:
{
data: {
cachedat: [1, 2, 3]
}
}
obj=data:
应该抛出错误。localStorage
notlocalstorag和{data:{cachedat:['1',2,3]}
notdata:{cachedat:['1',2,3]}
我以前就这样试过。但我的输出类似于=>data:cachedat:[]@Thantzinton那么您需要什么输出呢?请澄清您的问题,并将示例输出添加到您的问题中,这是必需的;但我得到的输出是{data:{cacheda:[]}}我的答案的输出正是您想要的。看看这个
{
data: {
cachedat: [1, 2, 3]
}
}