![](/img/trans.png)
[英]How can I add new array elements at the beginning of an array in JavaScript?
[英]How can i add elements to an array and then add the arrays new value to localStorage?
我正在尝试创建一个管理面板,在其中将单词添加到输入中,然后将这些单词添加到一个数组中,该数组将更新他的值并将其添加到localStorage。
我试图将事件监听器添加到按钮,但是当我第一次单击它时,它会添加值,但是当我第二次单击它时,它会添加相同的值。
let input = document.querySelector('.word-input');
let inputValue = input.value;
let btn = document.querySelector('.btn');
let p1 = document.querySelector('#p2');
let form = document.querySelector('form')[0];
form.addEventListener('submit', function() {
arr.push(inputValue);
})
localStorage.setItem('a', arr);
我希望插入到输入中的值也会插入到localStorage中,但是每次都会添加相同的值。
它一直插入相同的值,因为您创建了let inputValue = input.value;
但是您应该在每次事件触发时获取输入值。
此外,由于要将值添加到数组中,然后将数组保存到localStorage中,因此应将localStorage.setItem
放入事件中。
最后,由于无法将数组保存到localStorage中,因此应对数组进行字符串化以将其另存为字符串。
form.addEventListener('submit', function() {
arr.push(input.value);
localStorage.setItem('a', JSON.stringify(arr));
})
您的inputValue
变量仅在初始加载时设置。
form.addEventListener('submit', function() {
let inputValue = input.value;
arr.push(inputValue);
})```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.