Javascript节点Uint16Array串联
Javascript Node Uint16Array concatenation
我有两个 uint16arrays,我想合并成一个。
var Array1 = new Uint16Array(5);
var Array2 = new Uint16Array(5);
Array1[0]=0;
Array1[1]=1;
Array1[2]=2;
Array1[3]=3;
Array1[4]=4;
Array2[0]=5;
Array2[1]=6;
Array2[2]=7;
Array2[3]=8;
Array2[4]=9;
如何将它们放入一个具有 [0,1,2,3,4,5,6,7,8,9] 的 uint16 数组中?
谢谢
您基本上只需将它们复制过来即可:
const array3 = new Uint16Array(array1.length + array2.length);
for (var i=0; i<array1.length; i++)
array3[i] = array1[i];
for (var i=0; i<array2.length; i++)
array3[array1.lenght+i] = array2[i];
然而,有一种使用生成器的更优雅(但效率较低)的方法:
const array3 = Uint16Array.from(function* () {
yield* array1; yield* array2;
}());
我有两个 uint16arrays,我想合并成一个。
var Array1 = new Uint16Array(5);
var Array2 = new Uint16Array(5);
Array1[0]=0;
Array1[1]=1;
Array1[2]=2;
Array1[3]=3;
Array1[4]=4;
Array2[0]=5;
Array2[1]=6;
Array2[2]=7;
Array2[3]=8;
Array2[4]=9;
如何将它们放入一个具有 [0,1,2,3,4,5,6,7,8,9] 的 uint16 数组中?
谢谢
您基本上只需将它们复制过来即可:
const array3 = new Uint16Array(array1.length + array2.length);
for (var i=0; i<array1.length; i++)
array3[i] = array1[i];
for (var i=0; i<array2.length; i++)
array3[array1.lenght+i] = array2[i];
然而,有一种使用生成器的更优雅(但效率较低)的方法:
const array3 = Uint16Array.from(function* () {
yield* array1; yield* array2;
}());