【问题标题】:Javascript Node Uint16Array concatenationJavascript 节点 Uint16Array 连接
【发布时间】:2017-03-08 13:59:34
【问题描述】:

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

谢谢

【问题讨论】:

    标签: javascript node.js concat


    【解决方案1】:

    你基本上只是把它们复制过来:

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

    【讨论】:

    • 您好,感谢您的回答,如果它们是数组数组怎么办。我也遇到了一个问题,说 array3= -Array[1] -Array[2]
    • 然后简单地在你的类型化数组的数组上循环执行它。
    猜你喜欢
    • 2016-03-27
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多