我找到了许多从数组创建Float32Array的方法,但它们都涉及复制所有元素。 我想避免这样的成本,因为该数组永远不会再次使用。 我只想进行强制转换。有可能吗?
我找到了许多从数组创建Float32Array的方法,但它们都涉及复制所有元素。 我想避免这样的成本,因为该数组永远不会再次使用。 我只想进行强制转换。有可能吗?
不可能。一个 Float32Array
一定是一个与普通数组不同的对象。
如果你想避免复制数组项的开销,a) 首先不要使用普通数组,或者 b) 让使用它的函数也能处理普通数组。
如果您正在寻找 "转换" 操作,则可以使用普通数组调用 Float32Array
构造函数:
var arr = [0.3, 1, 2];
var typedArr = new Float32Array(arr);
.slice()
进行复制。 - jfriend00