是否有可能,如果是,如何?
我想将多个float32Arrays归为一个float32array。
我知道这听起来像是一个愚蠢的问题,但事实上这样做可能会在一段时间后退出。
是否有可能使它比这更快?
recBuffers是一个float32Array缓冲区数组,长度约为6594048
function mergeBuffers(recBuffers, recLength){
var result = new Float32Array(recLength);
var offset = 0
for (var i=0; i<recBuffers.length; i++){
for (var j=0; j<recBuffers[i].length; j++){
result[j] += recBuffers[i][j];
}
}
return result;
}
答案 0 :(得分:3)
来自the MDN:
一旦建立,您可以使用。引用数组中的元素 对象的方法,或使用标准数组索引语法(即使用 括号表示法。
给定两个float32Arrays a
和b
,你可以这样做:
var c = new Float32Array(Math.min(a.length, b.length));
for (var i=c.length; i-->0;) c[i] = a[i]+b[i];