Javascript 使用JS将值追加到新数组中
我正在尝试使用HTML、JS和本地存储构建一个表单(更多用于个人学习),以:Javascript 使用JS将值追加到新数组中,javascript,html,local-storage,Javascript,Html,Local Storage,我正在尝试使用HTML、JS和本地存储构建一个表单(更多用于个人学习),以: 从用户处获取输入 显示来自用户的输入 将数据存储在本地存储器中 为用户提供一个选项,使其可以删除某个项目或删除所有内容 问题: 本地存储器始终存储输入的最新值,而不是整个阵列。出于某种原因,推送数组没有附加所有值。我错过了什么 罢工一次对所有人都有效,但不是对每个选项都有效。每个选项的操作方法是什么 函数显示(){ var master_list=[]; var data=document.getElementB
- 本地存储器始终存储输入的最新值,而不是整个阵列。出于某种原因,推送数组没有附加所有值。我错过了什么
- 罢工一次对所有人都有效,但不是对每个选项都有效。每个选项的操作方法是什么
函数显示(){
var master_list=[];
var data=document.getElementById('to_do')。值;
主列表推送(数据);
document.getElementById('form_data')。innerHTML+=“”+data+“ ”;
console.log(“数据为”+数据);
控制台日志(“主列表为”+主列表);
//storeData(主目录);
}
函数删除(){
var list=document.getElementById('form_data').innerText;
//console.log(“数据为”+列表);
document.getElementById('form_data')。innerHTML=list.strike();
}
功能存储数据(主列表){
setItem(“master_list”,JSON.stringify(master_list));
}
待办事项应用程序
欢迎使用“待办事项”应用程序
输入您的待办事项:
添加
新增项目包括:
清除所有
您必须使用localStorage.getItem
检查master\u list
项是否已存在于localStorage中(如果请求的项不存在,它将实际返回null)
请每个帖子只问一个问题。另请注意,
strike()
已被删除。将master\u列表
移到display()
函数外部作为全局变量。现在您每次都在重置列表,这解释了为什么只有一个带有一个条目的数组存储在localStorage
中。请将主列表声明为全局变量,并在显示函数之外。不要声明全局变量。应避免使用全局变量。你不需要重新构建你的数组,你需要从中加载它,还要看看如果你把这两个问题放在一起,它会给你解决这个问题所需要的一切
const storeData= master_list => {
let item = localStorage.getItem("master_list");
if ( ! item ) {
localStorage.setItem("master_list", master_list);
return;
}
item = JSON.parse("master_list");
item.concat(master_list); // or master_list.concat(item) depending on your needs
localStorage.setItem("master_list", item);
};