2012-10-06 24 views
13

JavaScriptのFloat32Arrayがあり、それを通常のJavaScript配列に変換したいと思います。これどうやってするの?JavaScript型付き配列をJavaScript配列に変換する方法

+1

なぜそれが配列である必要がありますか? – Eric

+1

受け入れられた答えは、Int8Array、Float64ArrayなどのすべてのJavascript型付き配列に対して機能することに注意してください。これを反映するように質問タイトルを変更することができます。 –

+0

私はトピックと質問の策定に変更提案を提出しました。 – marcusstenbeck

答えて

0

は、あなたがこれを行うことができることを意味任意の配列、としてそれを使用することができます。

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

しかし、それは、それを変換するのではなくFloat32Arrayとしてそれを使用するために、通常、より効率的です。

異なる種類の値を混在させたくない場合は、変換しないでください。

31

Array.prototype.sliceを使用して、float32ArrayをArrayに変換します。 jsfiddle

var floatarr = new Float32Array(12); 
var array = Array.prototype.slice.call(floatarr); 
+0

これは機能します!ありがとうございました。 – stuax

+0

参加はあまりにも素晴らしいトリックです! Array.prototype.join.call(floatarr、 '、') –

+0

大きな配列のスタックサイズを簡単に超えないでしょうか? –

7

あなたは(残念ながら、IEを含む)古いブラウザをサポートする必要がない場合、あなたはadded to ES6Array.fromを、使用することができます。

var array = Array.from(floatarr); 

すべてのブラウザの新しいリリースでこのnow works IEを除き、ほとんどのモバイルブラウザでも動作します。

関連する問題