Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I initialize a Uint8Array?

I want to create a Uint8Array with 8 elements. I tried this

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

but when I run

myarr.length

I get back "255" when I expect the answer would be "8". I assume I'm doing somethign wrong in my intitialization step but don't know what that is.

like image 949
satish Avatar asked Jun 05 '18 19:06

satish


1 Answers

The different constructors are:

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

So when you do

new Uint8Array(255)

It will take it as a length. However you can pass an object (an array) instead which will be iterated to create the uint array:

new Uint8Array([255, 255, /*..*/]);
like image 129
Jonas Wilms Avatar answered Oct 25 '22 12:10

Jonas Wilms