36

我有一个 JavaScript Float32Array,我想把它转换成一个普通的 JavaScript 数组。我怎样才能做到这一点?

4

3 回答 3

56

如果您不需要支持旧浏览器(不幸的是,包括 IE),您可以使用ES6Array.from中添加的:

var array = Array.from(floatarr);

现在适用于所有浏览器的新版本(IE 除外),并且它也适用于所有主要的移动浏览器。

于 2016-05-31T16:13:29.650 回答
44

使用 Array.prototype.slice 转换float32Array为 Array。jsfiddle

var floatarr = new Float32Array(12);
var array =  Array.prototype.slice.call(floatarr);
于 2012-10-06T14:29:51.517 回答
1

您可以将它用作任何数组,这意味着您可以这样做:

var arr = [];
for (var i=0; i<myFloat32array.length; i++) arr[i] = myFloat32array[i];

但通常将其用作 Float32Array 而不是转换它更有效。

如果您不想混合不同类型的值,请不要转换它。

于 2012-10-06T14:26:41.717 回答