如何初始化Uint8Array?

7

我希望创建一个包含8个元素的 Uint8Array。我尝试了以下代码:

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

但当我运行时

myarr.length

当我期望的答案是“8”时,返回了“255”。我猜测在初始化步骤中做错了些什么,但不知道具体是什么。

3个回答

14

不同的构造函数有:

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

所以当你这样做时

new Uint8Array(255)

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

new Uint8Array([255, 255, /*..*/]);

3

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

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


0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接