在没有数据库的情况下在JavaScript中存储和处理数据的最佳解决方案是什么?



好的,请允许我详细说明一下。我试图建立一个小的应用程序视觉飞行计划,以帮助计算。我使用HTML/CSS/Javascript做一些简单的东西。例如,有机场、航路点和飞机的对象。你选择一个机场作为出发地,另一个机场作为目的地,输入你将飞过的航路点并选择飞机,应用程序使用坐标和飞机特征来计算腿。它有更多的步骤,但这是基本的概念。
所以我想做的是将数据存储在一个单独的文件中,并在元素被选中时检索我需要的数据。我是初学者,所以我不知道我是不是在做白日梦。现在我所做的是创建一个包含所有机场的数组,另一个包含所有航路点的数组和另一个包含飞机的数组。函数从数组中检索数据并返回对象。但这似乎是在浪费记忆。
我的另一个想法是用switch语句创建一个函数,使用id(例如机场/航路点代码)并返回选中的对象。我用坐标计算了磁偏。
我想做一些我可以在以后更新的东西,但有一个简单的结构,如果可能的话。SQL当然会出现在脑海中,但我正在考虑一些更本地的东西。LocalStorage似乎也是一个想法,但它必须在每次浏览器加载时初始化,并且仍然会浪费内存

这个问题是相对的,有些人甚至认为它是基于意见的。然而,我认为可以从一些细节中找到一个具体的答案。

存储在应用程序(数组/对象)

是的,这就是你现在正在做的,我知道你认为这是在浪费记忆。然而,根据你的情况,你不应该太在意这个。

无论如何,我建议您在数据不太大且不太可能更改的情况下保持这种方式。可能这对您来说不是最好的选择,因为您说过以后会假装更新数据。这不仅关乎内存,也关乎可维护性。

本地web存储

如果上面的解决方案不适合你,可能这个也不适合。为什么?这很简单。在localStorage中存储数据的过程中,您需要在代码中以数组或对象的形式拥有该数据。最后,您将在应用程序中拥有本地web存储中的数据。这没有多大意义,你同意吗?

localStorage应该用于存储相对于用户的数据,并且在页面离开后您将无法访问这些数据,除非您保存它们。对于存储在任何情况下都可以访问的数据,这种存储方式不是一个好的选择。

使用JSON文件

如果您的数据不太可能经常更改,这可能是一个很好的解决方案。而且它也会满足你的期望,因为你可以只在需要的时候从它请求数据。你应该考虑到你自己的情况,但是,从你所说的我所理解的,你的数据有时会改变,而且它有点大,如果你不想使用数据库,使用JSON文件将是一个很好的.


最后,使用数据库有几个优点,即使对于静态(但有些大)数据也是如此。比如,你可以选择SQLite,这是一个嵌入式数据库。然而,这是另一个问题的话题。

现在,由于您的数据有时会更改并且可能很长,所以使用JSON文件看起来在"no-database"限制。

localStorage是可行的方法。只需将您的对象保存为localStorage.setItem('item', JSON.stringify(obj)),然后使用JSON.parse检索。

没有更好的方法在客户端本地保存数据了。

最新更新