使用JavaScript我想偏移類型化數組中的元素,以便如果原始數組的值爲0到99,則新數組將從10開始並轉到99,留下10個空元素新數據。 因此,如果原始數組可以被視爲10 x 10網格,我想將所有數據向上移動一行,然後在最下一行輸入新數據。在類型化數組中編輯值
我知道這可以使用循環來完成,但是這個方法對於我的項目來說太慢了,因爲我的項目有更大的數組(990 x 1920)。 我試過ArrayBuffers,並且無處可去。
以下測試方法(使用子數組)的問題是,儘管data1大小被指定爲100,但它在應用時似乎減少到子數組的大小。最後,我可以找到無法添加更多數據的方法。
function initialize() {
data = new Uint32Array(100);
data1 = new Uint32Array(100);
for (var i = 0; i < data.length; i++) {
data[i] = i;
}
data1 = data.subarray(10);
console.log(data1);
}
除了一個循環來抵消類型化數組中的數據並在最後添加數據之外,還有其他什麼方法。
好的,我在使用Set()找到了一個解決方案Typed Arrays in Gecko 2: Float32Array concatenation and expansion。
謝謝你的信息。我使用的解決方案與您的第二個建議類似。我會檢查你的第一個建議,看看內存是否可以處理它。 – user984749