使用文字数据填充javascript类型数组的最佳方法是什么?
最近,我一直在使用javascript类型数组进行一些数学工作。特别是,我使用了大量的Float32Array对象。
我经常需要手动填充其值。使用常规数组时,可以使用以下文字语法:var a = [0,1,2];
但是似乎没有相同的方法来填充类型化数组,所以我发现我必须使用大量单独的语句来完成它;
var a = new Float32Array(3);
a[0] = 0;
a[1] = 1;
a[2] = 2;
如果超过4个值,这会非常烦人。从脚本大小和javascript执行来看,它似乎也很浪费,因为它必须解释所有这些单独的语句。
我使用的另一种方法是创建一个setter函数:
var populateArray(a,vals) {
var N = vals.length;
for (var i=0; i<N; i++) {a[i]=vals[i];}
};
var a = new Float32Array(3);
populateArray(a,[0,1,2]);
但这似乎也很浪费。我必须先创建一个与输入数组一样大的常规数组,然后输入populateArray函数,然后进行迭代。
所以......问题是:是否有更直接有效的方法用文字数据填充打字数组?
答案 0 :(得分:5)
为什么不简单地执行new Float32Array([1,2,3]);
Float32Array Float32Array( 无符号长度 );
Float32Array Float32Array( TypedArray数组 );
Float32Array Float32Array( 序列数组 );
Float32Array Float32Array( ArrayBuffer缓冲区, 可选的unsigned long byteOffset, 可选的无符号长度 );