Javascript 将阵列存储到本地存储中,而不是替换
我正在使用本地存储,如下所示Javascript 将阵列存储到本地存储中,而不是替换,javascript,angularjs,local-storage,Javascript,Angularjs,Local Storage,我正在使用本地存储,如下所示 var post = { title: 'abc', price: 'USD5' }; window.localStorage['book'] = JSON.stringify(post); 我想在我的localstorage中创建嵌套的json,如果上面的代码在用户单击save的click事件中,它将删除旧数据并替换它。如何将新值作为数组对象推送?使用实际数组,例如在页面加载时: var posts = JSON.parse(local
var post = {
title: 'abc',
price: 'USD5'
};
window.localStorage['book'] = JSON.stringify(post);
我想在我的localstorage中创建嵌套的json,如果上面的代码在用户单击save的click事件中,它将删除旧数据并替换它。如何将新值作为数组对象推送?使用实际数组,例如在页面加载时:
var posts = JSON.parse(localStorage['book'] || "[]");
然后,在使用时,将以下内容添加到内存中的阵列:
posts.push({
title: 'abc',
price: 'USD5'
});
任何时候您想要将值保存回本地存储:
localStorage['book'] = JSON.stringify(posts);
下面是一个完整的功能示例(遗憾的是,堆栈片段不允许本地存储): HTML:
姓名:
价格:
JavaScript(必须在文档中的HTML之后):
(函数(){
var nameField=document.getElementById(“txt名称”),
priceField=document.getElementById(“txt价格”);
//在页面加载时,获取当前集合或空白数组
var list=JSON.parse(localStorage.getItem(“list”)| |“[]”);
//显示条目
列表.forEach(showItem);
//“添加”按钮处理程序
document.getElementById(“btn add”).addEventListener(
“点击”,
函数(){
//获取名称和价格
变量项={
名称:nameField.value,
价格:priceField.value
};
//添加到列表中
列表。推送(项目);
//展示它
展示项目(项目);
//更新本地存储
setItem(“list”,JSON.stringify(list));
},
假的
);
//用于显示项目的函数
功能显示项(项){
var div=document.createElement('div');
div.innerHTML=
“名称:”+escapeHTML(项目名称)+
价格:“+escapeHTML(项目价格);
文件.getElementById(“列表”).appendChild(div);
}
//用于在字符串中转义HTML的函数
函数escapeHTML(str){
返回str.replace(/&/g,“&;”)。replace(/使用实际数组,例如在页面加载时:
var posts = JSON.parse(localStorage['book'] || "[]");
然后,在使用时,将以下内容添加到内存中的阵列:
posts.push({
title: 'abc',
price: 'USD5'
});
任何时候您想要将值保存回本地存储:
localStorage['book'] = JSON.stringify(posts);
下面是一个完整的功能示例(遗憾的是,堆栈片段不允许本地存储):
HTML:
姓名:
价格:
JavaScript(必须在文档中的HTML之后):
(函数(){
var nameField=document.getElementById(“txt名称”),
priceField=document.getElementById(“txt价格”);
//在页面加载时,获取当前集合或空白数组
var list=JSON.parse(localStorage.getItem(“list”)| |“[]”);
//显示条目
列表.forEach(showItem);
//“添加”按钮处理程序
document.getElementById(“btn add”).addEventListener(
“点击”,
函数(){
//获取名称和价格
变量项={
名称:nameField.value,
价格:priceField.value
};
//添加到列表中
列表。推送(项目);
//展示它
展示项目(项目);
//更新本地存储
setItem(“list”,JSON.stringify(list));
},
假的
);
//用于显示项目的函数
功能显示项(项){
var div=document.createElement('div');
div.innerHTML=
“名称:”+escapeHTML(项目名称)+
价格:“+escapeHTML(项目价格);
文件.getElementById(“列表”).appendChild(div);
}
//用于在字符串中转义HTML的函数
函数escapeHTML(str){
返回str.replace(/&/g,“&;”)。replace(/使用实际数组,例如在页面加载时:
var posts = JSON.parse(localStorage['book'] || "[]");
然后,在使用时,将以下内容添加到内存中的阵列:
posts.push({
title: 'abc',
price: 'USD5'
});
任何时候您想要将值保存回本地存储:
localStorage['book'] = JSON.stringify(posts);
下面是一个完整的功能示例(遗憾的是,堆栈片段不允许本地存储):
HTML:
姓名:
价格:
JavaScript(必须在文档中的HTML之后):
(函数(){
var nameField=document.getElementById(“txt名称”),
priceField=document.getElementById(“txt价格”);
//在页面加载时,获取当前集合或空白数组
var list=JSON.parse(localStorage.getItem(“list”)| |“[]”);
//显示条目
列表.forEach(showItem);
//“添加”按钮处理程序
document.getElementById(“btn add”).addEventListener(
“点击”,
函数(){
//获取名称和价格
变量项={
名称:nameField.value,
价格:priceField.value
};
//添加到列表中
列表。推送(项目);
//展示它
展示项目(项目);
//更新本地存储
setItem(“list”,JSON.stringify(list));
},
假的
);
//用于显示项目的函数
功能显示项(项){
var div=document.createElement('div');
div.innerHTML=
“名称:”+escapeHTML(项目名称)+
价格:“+escapeHTML(项目价格);
文件.getElementById(“列表”).appendChild(div);
}
//用于在字符串中转义HTML的函数
函数escapeHTML(str){
返回str.replace(/&/g,“&;”)。replace(/使用实际数组,例如在页面加载时:
var posts = JSON.parse(localStorage['book'] || "[]");
然后,在使用时,将以下内容添加到内存中的阵列:
posts.push({
title: 'abc',
price: 'USD5'
});
任何时候您想要将值保存回本地存储:
localStorage['book'] = JSON.stringify(posts);
下面是一个完整的功能示例(遗憾的是,堆栈片段不允许本地存储):
HTML:
姓名:
价格:
JavaScript(必须在文档中的HTML之后):
(函数(){
var nameField=document.getElementById(“txt名称”),
priceField=document.getElementById(“txt价格”);
//在页面加载时,获取当前集合或空白数组
var list=JSON.parse(localStorage.getItem(“list”)| |“[]”);
//显示条目
列表.forEach(showItem);
//“添加”按钮处理程序
document.getElementById(“btn add”).addEventListener(
“点击”,
函数(){
//获取名称和价格
变量项={
名称:nameField.value,
价格:priceField.value
};
//添加到列表中
列表。推送(项目);
//展示它
显示