JavaScript:方便使用3维数组吗?

时间:2019-01-19 17:50:58

标签: javascript arrays multidimensional-array

我有一组多个表(二维数组),每个表具有不同的内容,但结构相同。

现在,我想在这些表之一之间进行选择。

我的第一个直觉是使用3d数组,但我读到您不应该使用这些其他方法?以下是我目前的想法。我当然可以有很多独立的数组而没有数组,但这似乎更糟。

tables:[[[1, 2, 3],
         [1, 2, 3]],

        [[4, 5, 6],
         [4, 5, 6]]

        [[7, 8, 9],
         [7, 8, 9]]]

1 个答案:

答案 0 :(得分:1)

如果数组很小,那么只有3d数组是可行的方法。

但是,如果数组很大并且只包含数字,那么最好将结构放平到单个类型的数组中,因为这样会分配更少的内存和更少的javascript对象。

例如,一个200x200x200的数组具有8000000个元素,每个数组8个字节(假定浮点数)将占用〜64Mb,就像用单个Float64Array表示时一样,对于当前的台式计算机完全没有问题。 / p>

与javascript值数组的数组表示相同的情况将变得更糟,因为管家机制将比数据本身更多,并且将对垃圾收集器施加更大的压力。