用字面數據填充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