Javascript节点Uint16Array连接

时间:2017-03-08 13:59:34

标签: javascript node.js concat

我有两个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中?

由于

1 个答案:

答案 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;
}());