我正在尝试将对象first
添加到myMovie
到localstorage。但是当检查localstorage时,myMovie总是空的。
var myMovie= [];
localStorage.setItem('myMovie', JSON.stringify(myMovie));
var output = JSON.parse(localStorage.getItem('myMovie'));
var first= {id:"tt3783958", title:"La La Land", year:"2016", type:"Comedy, Drama, Music"}
myMovie.push(first);
我无法弄清楚我在这里做错了什么。
答案 0 :(得分:2)
好吧,看起来你在存储之前将对象写入实际添加第一个项目。
首先尝试在列表中添加内容,或者在每次更新后再次保存。
<div class="container">
<div name="item1" class="single_item">
Item 1
</div>
<div name="item2" class="single_item">
Item 2
</div>
<div name="item3" class="single_item">
Item 3
</div>
<div name="item4" class="single_item">
Item 4
</div>
</div>
答案 1 :(得分:1)
Best是一个函数,不仅可以更改数组,还可以将其存储在localStorage中:
var myMovie=[] //JSON.parse(localStorage.getItem('myMovie')||"[]");
function push(el){
myMovie.push(el);
//localStorage.setItem('myMovie', JSON.stringify(myMovie));
}
function remove(title){
var i=myMovie.findIndex(movie=>movie.title===title);
if(i!==-1){
myMovie.splice(i,1);
//localStorage.setItem('myMovie', JSON.stringify(myMovie));
}
}
push({id:"tt3783958", title:"La La Land", year:"2016", type:"Comedy, Drama, Music"});
console.log(myMovie);
remove("La La Land");
console.log(myMovie);
&#13;
要创建一个正在运行的stackSnippet,我必须删除localStorage功能,它已被注释掉。