用字面数据填充javascript类型数组的最佳方式是什么?填充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函数,然后进行迭代。
所以...问题是:是否有一种更直接和有效的方式来填充字面数据的类型化数组?
或者,如果该数组已被声明,也可以使用a.set([1,2,3]) – roberto
哇 - 我不知道你能做到这一点!令人难以置信的简单。我不敢相信我以前没有见过。非常感谢! –
@DanielHoward Np。有时比你想象的要容易;) – Johan