javascript - Javascript 中 ArrayBuffer 的 3D 数组?

标签 javascript arrays

使用底层 ArrayBuffer 创建 3D 数组(例如 myArray[x][y][z])的最佳方法是什么(如果可能?)。该数组应由 Uint32Array 组成。

就我而言,它是一个相当大的数组(大约 200x200x200)。如果我使用类型化数组(例如 uint32),迭代它会快得多,因此我想使用 ArrayBuffers。还是我错了?

最佳答案

您可以编写一个简单的函数,将 x/y/z 索引转换为 ArrayBuffer 中的相应索引。

function arrayIndex(x, y, z, xSize, ySize) {
    return z + ySize * (y + x * xSize);
}

参见Memory layout of multi-dimensional arrays将一组索引转换为线性索引的通用算法。

关于javascript - Javascript 中 ArrayBuffer 的 3D 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333224/

相关文章:

javascript - 定位 div #2

arrays - numpy 搜索多个值的数组,并返回它们的索引

php - 将 MySQL 列转换为自定义数组字符串

php - mysql查询一个数组

javascript - pjs 草图和 html Canvas

php - 将一系列数字作为参数传递给 PHP 中的 JavaScript 函数时出错

javascript - JQuery 自动完成显示名称并使用 php 和 mysql 维护 id

php - 设备方向和分页

ruby-on-rails - 检查数组的每个元素是否包含在另一个数组的一组值中

java - 访问存储在对象中的实例变量