Как инициализировать массив Uint8Array? - PullRequest
0 голосов
/ 05 июня 2018

Я хочу создать массив Uint8Array с 8 элементами.Я пробовал это

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

, но когда я запускаю

myarr.length

, я получаю "255", когда я ожидаю, что ответ будет "8".Я предполагаю, что я неправильно делаю что-то на своем этапе инициализации, но не знаю, что это такое.

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

Вам необходимо добавить скобки в список внутри аргумента Uint8Array

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

0 голосов
/ 05 июня 2018

Различные конструкторы:

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

Так что, когда вы делаете

new Uint8Array(255)

Это будет длиною.Однако вместо этого вы можете передать объект (массив), который будет повторен для создания массива uint:

new Uint8Array([255, 255, /*..*/]);
0 голосов
/ 05 июня 2018

Вы можете инициализировать UintArray обычным массивом, например так:

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