我有一组多个表(二维数组),每个表具有不同的内容,但结构相同。
现在,我想在这些表之一之间进行选择。
我的第一个直觉是使用3d数组,但我读到您不应该使用这些其他方法?以下是我目前的想法。我当然可以有很多独立的数组而没有数组,但这似乎更糟。
tables:[[[1, 2, 3],
[1, 2, 3]],
[[4, 5, 6],
[4, 5, 6]]
[[7, 8, 9],
[7, 8, 9]]]
答案 0 :(得分:1)
如果数组很小,那么只有3d数组是可行的方法。
但是,如果数组很大并且只包含数字,那么最好将结构放平到单个类型的数组中,因为这样会分配更少的内存和更少的javascript对象。
例如,一个200x200x200的数组具有8000000个元素,每个数组8个字节(假定浮点数)将占用〜64Mb,就像用单个Float64Array
表示时一样,对于当前的台式计算机完全没有问题。 / p>
与javascript值数组的数组表示相同的情况将变得更糟,因为管家机制将比数据本身更多,并且将对垃圾收集器施加更大的压力。