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

时间:2015-04-07 17:19:52

标签: javascript arrays

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

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]);
}

3 个答案:

答案 0 :(得分:2)

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

您可以使用以下内容导出数组:

var savedFile_JsonStringData = JSON.stringify(nameData);

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

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

var nameData = JSON.parse(savedFile_JsonStringData);

本地存储

正如其他人所说,如果您不需要数据闲置太久,临时存储方法可能会有效。

Window.sessionStorage提供以下内容:

  

sessionStorage属性允许您访问会话Storage对象。 sessionStoragelocalStorage类似,唯一的区别是当localStorage中存储的数据没有到期设置时,sessionStorage中存储的数据会在页面会话结束时被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话。

最低浏览器版本支持

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'));

答案 1 :(得分:1)

您可以使用称为会话存储的内容。

sessionStorage.setItem("key", JSON.stringify(myArray));
//and to retrieve 
myArray = JSON.Parse(sessionStorage.getItem("key"));

答案 2 :(得分:0)

只是一个猜测,但听起来你正在为自己制作某种应用程序或工具,并且你想保持持久状态。为此,您可以使用Web Storage API

window.localStorage.setItem('names', JSON.stringify(nameData));
nameData = JSON.parse(window.localStorage.getItem('names'));