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

使用表数据存储本地javascript的紧凑方式?,javascript,performance,javascript-objects,Javascript,Performance,Javascript Objects,我生成HTML报告供脱机使用,基本上作为PDF,并增加了交互性。作为其中的一部分,我需要加载大量的表格数据。我的函数使用的格式是行主编码。考虑到Chrome和其他浏览器通常禁止直接从磁盘加载数据,我必须使用一种变通方法,将其存储在data.js文件中,并将src存储到我的html中,如下所示 index.html: ... <script src="./data.js"></> ... 对于我正在使用的数据,这些值大约为100mb+左右,因此我对它进行了一个小的优化,将

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

index.html:

...
<script src="./data.js"></>
...
对于我正在使用的数据,这些值大约为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)

但是,我想知道是否有更多(相对轻量级)的方法来节省我的数据空间。

大概
的“物种”
名称不包含引号,因此,您可以使用逗号分隔值的单个字符串来代替字符串数组,如
物种:“setosa,setosa,setosa”
保存一大堆引号字符。(我假设您的真实数据有一个更长的列表,因此删除引号会有所不同。)我们需要有关您的数据结构的更多信息。。对于这类问题,它总是视情况而定。例如,如果有几个物种,只需将名称放入一个短数组中,并仅将索引存储在物种json中。我的实际数据是一个基因注释表。每行是一个基因,列是“GeneID”、“GeneSymbol”、“Description”、“chromose”、“Expression”、“LogFoldChange”、“PValue”。索引技巧可能对染色体有效,但所有其他列都包含唯一的值。我的另一个数据是一个基因表达式矩阵,有300多列和10000多行浮点数。大概
“物种”
名称不包含引号,因此可以使用逗号分隔的单个字符串代替字符串数组,如
物种:“setosa,setosa,setosa,setosa”
保存一大堆引号字符。(我假设您的真实数据有一个更长的列表,因此删除引号会有所不同。)我们需要有关您的数据结构的更多信息。。对于这类问题,它总是视情况而定。例如,如果有几个物种,只需将名称放入一个短数组中,并仅将索引存储在物种json中。我的实际数据是一个基因注释表。每行是一个基因,列是“GeneID”、“GeneSymbol”、“Description”、“chromose”、“Expression”、“LogFoldChange”、“PValue”。索引技巧可能对染色体有效,但所有其他列都包含唯一的值。我的另一个数据是基因表达矩阵,有300多列和10000多行的浮点。
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)