我生成用于离线使用的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)
但是我想知道是否还有其他(相对轻量级)方法可以节省数据空间。