jan*_*nce 13 javascript arrays gecko typed-arrays
我对Javascript Typed Arrays有点困惑.
我有几个Float32Array,没有concat方法.我不知道提前有多少人,顺便说一下.我想将它们连接到另一个Float32Array中,但是:
var length_now = buffer.length;
for (var i = 0; i < event.frameBuffer.length; i += 1) {
buffer [length_now + i] = event.frameBuffer[i];
}
Run Code Online (Sandbox Code Playgroud)
我找到的唯一解决方案是将Float32Array复制到一个常规数组中,这绝对不是我想要的.你会怎么做,stackoverflowers?
Fré*_*idi 19
类型化数组基于数组缓冲区,无法动态调整大小,因此无法写入数组末尾或使用push().
实现您想要的方法的一种方法是分配一个新的Float32Array,足够大以包含两个数组,并执行优化的副本:
function Float32Concat(first, second)
{
var firstLength = first.length,
result = new Float32Array(firstLength + second.length);
result.set(first);
result.set(second, firstLength);
return result;
}
Run Code Online (Sandbox Code Playgroud)
那会让你写:
buffer = Float32Concat(buffer, event.frameBuffer);
Run Code Online (Sandbox Code Playgroud)