使用表数据存储本地javascript的紧凑方式?

时间:2017-07-24 03:20:54

标签: javascript performance javascript-objects

我生成用于离线使用的HTML报告,基本上是具有增加的交互性的PDF。作为其中的一部分,我需要加载大量的表格数据。我的函数使用的格式是行主编码。鉴于Chrome和其他浏览器通常禁止从磁盘直接加载数据,我必须使用一种解决方法,我将其存储在data.js文件中,src将其存储到我的html中,如下所示

的index.html:

...
<script src="./data.js"></>
...

data.js:

var data = [
    {"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"},
    {"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"},
    {"Petal.Length":1.3,"Petal.Width":0.2,"Species":"setosa"},
    {"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"}
]

对于我使用的数据,这些数据大约为100mb +所以我已经做了一个小的优化,将其改为列主要表示法,并使用JavaScript中的转换将其切换回来,即

var data = {
    "Petal.Length":[1.4,1.4,1.3,1.5],
    "Petal.Width":[0.2,0.2,0.2,0.2],
    "Species":["setosa","setosa","setosa","setosa"]
}
data = toRowMajor(data)

但是我想知道是否还有其他(相对轻量级)方法可以节省数据空间。

0 个答案:

没有答案