使用 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);
}
除了循环之外,还有什么方法可以偏移类型数组中的数据并在最后添加数据。
好的,我在 Gecko 2 的 Typed Arrays 中找到了一个解决方案:Float32Array concatenation and expansion using Set()。