JavaScript: удобно использовать 3-х мерный массив? - PullRequest
0 голосов
/ 19 января 2019

У меня есть набор из нескольких таблиц (2d-массивов), каждая из которых имеет различное содержимое, но имеет одинаковую структуру.

Теперь я хочу выбрать одну из этих таблиц.

Моим первым инстинктом было использовать 3d-массив, но я прочитал, что вы не должны использовать эти, какие еще способы я мог бы использовать?Ниже моя текущая идея.Конечно, я мог бы иметь много отдельных массивов без массива, но это кажется еще хуже.

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

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

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

1 Ответ

0 голосов
/ 19 января 2019

Если массивы маленькие, то лучше всего использовать трехмерный массив.

Однако, если массивы большие и содержат только числа, лучше выровнять структуру в одном типизированном массиве, потому чтоэто будет выделять намного меньше памяти, а также намного меньше объектов javascript.

Например, массив 200x200x200 имеет 8000000 элементов, и каждый по 8 байт (при условии чисел с плавающей запятой) будет занимать ~ 64 МБ, как при представлении в виде одногоFloat64Array и не представляет никакой проблемы для текущего настольного компьютера.

Представление того же самого как массива массивов массивов значений javascript вместо этого будет намного хуже, потому что вспомогательные механизмы будут болеечем сами данные и окажет гораздо большее давление на сборщик мусора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...