如何将JavaScript类型数组转换为JavaScript数组

stu*_*uax 24 javascript

我有一个JavaScript Float32Array,我想将它转换为常规JavaScript数组.我怎样才能做到这一点?

Ano*_*oop 40

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

var floatarr = new Float32Array(12);
var array =  Array.prototype.slice.call(floatarr);
Run Code Online (Sandbox Code Playgroud)


Cod*_*all 32

如果您不需要支持旧浏览器(包括IE,不幸),您可以使用Array.from,这已添加到ES6:

var array = Array.from(floatarr);
Run Code Online (Sandbox Code Playgroud)

现在适用于除IE之外的每个浏览器的新版本,并且它也适用于大多数移动浏览器.


Den*_*ret 1

您可以将其用作任何数组,这意味着您可以执行以下操作:

var arr = [];
for (var i=0; i<myFloat32array.length; i++) arr[i] = myFloat32array[i];
Run Code Online (Sandbox Code Playgroud)

但将其用作 Float32Array 通常比转换它更有效。

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