如何在javascript中将数组缓冲区数组转换为float32array或普通数组



我有一个数组缓冲区,这意味着我有

array[1] -> once this is clicked on, in the console, it holds this 
[object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer][object ArrayBuffer]

我必须将这些数组缓冲区转换回可以读取的数组。最初,我只有一个这样的,并且正在使用

temp_float_array = new Float32Array(arr_buff); //turns array buffer data from hex bytes to an array of floats
for (var i = 0; i < temp_float_array.length; i++) {
float_array[i] = parseFloat(temp_float_array[i]);
}

获取arraybuffer并将其转换为float32array,然后从那里使用parseFloat使其成为普通数组。现在我有了很多这样的数组缓冲区,我需要将每一个都变成一个可读的数组。谢谢你的帮助或建议。

每个阵列缓冲区包含大约50千个值,

[-91.51844787597656,-91.5179443359375,-91.5174560546875,-91.51744842529297,-91.55493927001953,-91.5665283203125,-91.57928466796875,-91.59294128417969,-91.607177734375,-91.62168884277344...etc]

理想情况下,我需要这些值恢复原样。

对于未来的任何人来说,这就是我最终要做的。

temp_float_array = new Float32Array(arr_buff); //turns array buffer data from hex bytes to an array of floats
for (var j = 0; j < temp_float_array.length; j++) {
part_arr[j] = parseFloat(temp_float_array[j]);
}
float_array = float_array + part_arr;

我使用了嵌套的for循环。这是在我的主for循环中,arr_buff是每个单独的数组缓冲区。这为每个数组缓冲区提供了一个float32数组的数组。在我的主循环之外,我有

float_array = float_array.split(',');
for (var u = 0; u < float_array.length; u++) {
float_array[u] = parseFloat(float_array[u]);
}

将逗号处的值拆分,然后取float_array,它现在有我的float32数组数组,然后将其变成一个有几百万个值的大数组。我确信这不是最干净或最快的解决方案,但这是我目前的工作解决方案。

最新更新