如何初始化 Uint8Array?

sat*_*ish 6 javascript arrays initialization uint8array

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

var myarr = new Uint8Array(255,255,255,255,40,92,143,2);
Run Code Online (Sandbox Code Playgroud)

但是当我跑

myarr.length
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*lms 10

不同的构造函数是:

new TypedArray(); // new in ES2017
new TypedArray(length);
new TypedArray(typedArray);
new TypedArray(object);
Run Code Online (Sandbox Code Playgroud)

所以当你做

new Uint8Array(255)
Run Code Online (Sandbox Code Playgroud)

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

new Uint8Array([255, 255, /*..*/]);
Run Code Online (Sandbox Code Playgroud)