什么是使用实际数据填充JavaScript类型化数组的最佳方法?
最近我一直在为数学工作使用 JavaScript 类型化数组。特别是,我正在使用大量的 Float32Array 对象。
我经常需要手动填充它们的值。对于常规数组,有以下文字语法可用:var a = [0,1,2]; 但好像没有类似的方式可以填充类型化数组,所以我发现必须使用许多单独的语句来完成它。
最近我一直在为数学工作使用 JavaScript 类型化数组。特别是,我正在使用大量的 Float32Array 对象。
我经常需要手动填充它们的值。对于常规数组,有以下文字语法可用:var a = [0,1,2]; 但好像没有类似的方式可以填充类型化数组,所以我发现必须使用许多单独的语句来完成它。
var a = new Float32Array(3);
a[0] = 0;
a[1] = 1;
a[2] = 2;
如果有超过四个值,这将变得非常烦人。而且这种方式似乎很浪费,无论是在脚本大小还是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函数,还需要进行迭代。
所以...问题是:是否有更直接和高效的方法来填充类型化数组的文字数据?