javascript - 如何在代码结束后将输入永久存储到数组中?

标签 javascript arrays

<分区>

下面是数组 nameData,我想知道即使在我的代码运行完毕后,是否有某种方法可以将用户的输入保存到给定数组中。我想这反射(reflect)了我在空闲时间所做的事情......

var nameData = ["Nik"];
var Name = prompt("PLEASE ENTER YOUR NAME:");
if (Name !== null){
 alert("Hello " + Name + "!");
nameData.push(Name); 
} 

for (var i = 0; i < nameData.length; i++) {
console.log(nameData[i]);
}

最佳答案

在 JavaScript 中运行的代码不是持久的。程序完成后,内存中的所有值都将被丢弃。您需要使用服务器端语言将该值保存到磁盘或将其存储在数据库中。

您可以导出数组:

var savedFile_JsonStringData = JSON.stringify(nameData);

并将其字符串内容存储在文件或数据库中。

然后,要导入数据,加载保存的文件并将其字符串表示形式转换回数组:

var nameData = JSON.parse(savedFile_JsonStringData);

本地存储

正如其他人所指出的,如果您不需要将数据存放太久,则临时存储方法可能会奏效。

Window.sessionStorage提供以下内容:

The sessionStorage property allows you to access a session Storage object. sessionStorage is similar to localStorage, the only difference is while data stored in localStorage has no expiration set, data stored in sessionStorage gets cleared when the page session ends. A page session lasts for as long as the browser is open and survives over page reloads and restores. Opening a page in a new tab or window will cause a new session to be initiated.

最低浏览器版本支持

Feature        | Chrome | Firefox | IE | Opera | Safari
---------------+--------+---------+----+-------+-------
localStorage   | 4      | 3.5     | 8  | 10.50 | 4
sessionStorage | 5      | 2       | 8  | 10.50 | 4

例子

// Save data to sessionStorage
sessionStorage.setItem('myKey', JSON.stringify(nameData));

// Get saved data from sessionStorage
var nameData = JSON.parse(sessionStorage.getItem('myKey'));

关于javascript - 如何在代码结束后将输入永久存储到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29497367/

相关文章:

javascript - 如何实现(快速)bigint 划分?

javascript - 如何将变量的值传递给 firebase 调用?

arrays - Typescript 从对象中选择 ID

java - 可以使用 int 数组作为对象参数吗?

c# - TextAsset 返回 null

javascript 使用函数作为变量(getter)

javascript - 我希望该行保持正确的类别

javascript - 页面加载时显示文本区域的所有行

javascript - 检查JSON的Key

javascript - 将数组添加到数组项中