简体   繁体   English

Javascript 节点 Uint16Array 连接

[英]Javascript Node Uint16Array concatenation

I have two uint16arrays that i want to combine into one.我有两个 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;

How do i get them into one uint16array with [0,1,2,3,4,5,6,7,8,9]?我如何将它们放入一个带有 [0,1,2,3,4,5,6,7,8,9] 的 uint16array 中?

Thanks谢谢

You'd basically just copy them over:你基本上只是复制它们:

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];

However there's a more elegant (but less efficient) way using generators:然而,使用生成器有一种更优雅(但效率更低)的方法:

const array3 = Uint16Array.from(function* () {
    yield* array1; yield* array2;
}());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM