6

我想创建一个包含 8 个元素的 Uint8Array。我试过这个

var myarr = new Uint8Array(255,255,255,255,40,92,143,2);

但是当我跑步时

myarr.length

当我期望答案是“8”时,我得到了“255”。我假设我在初始化步骤中做错了什么,但不知道那是什么。

4

3 回答 3

10

不同的构造函数是:

new TypedArray(); // new in ES2017
new TypedArray(length);
new TypedArray(typedArray);
new TypedArray(object);

所以当你这样做时

new Uint8Array(255)

它将作为一个长度。但是,您可以传递一个对象(一个数组),而该对象将被迭代以创建 uint 数组:

new Uint8Array([255, 255, /*..*/]);
于 2018-06-05T19:09:36.937 回答
3

您需要在 Uint8Array 参数内的列表中添加括号

let myarr = new Uint8Array([1,2,3,...])

于 2018-06-05T19:08:12.123 回答
0

UintArray您可以像这样使用常规数组初始化 a :

const arr = [255,255,255,255,40,92,143,2]
const uintarr = new Uint8Array(arr)
console.log(uintarr.length)

于 2018-06-05T19:07:44.527 回答