我有两个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]将它们放入一个uint16array中?
由于
答案 0 :(得分:0)
你基本上只是复制它们:
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;
}());