我有一组多个表(二维数组),每个表都有不同的内容,但结构相同。
现在我想在其中一张表中进行选择。
我的第一直觉是使用 3d 数组,但我读到你不应该使用这些我可以使用其他方法吗?以下是我目前的想法。我当然可以有许多没有数组的单独数组,但这似乎更糟。
tables:[[[1, 2, 3],
[1, 2, 3]],
[[4, 5, 6],
[4, 5, 6]]
[[7, 8, 9],
[7, 8, 9]]]
最佳答案
如果数组很小,那么只需要一个 3d 数组。
但是,如果数组很大并且它们只包含数字,那么最好将结构展平为单个类型的数组,因为这样会分配更少的内存和更少的 javascript 对象。
例如,一个 200x200x200 的数组有 8000000 个元素,每个元素为 8 个字节(假设为 float ),当表示为单个 Float64Array
时将占用 ~64Mb,并且对于当前桌面来说完全没有问题电脑。
用 javascript 值数组的数组来表示相同的内容反而会更糟,因为管理机制将不仅仅是数据本身,而且会给垃圾收集器带来更大的压力。
关于JavaScript:方便使用 3 维数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269806/