Типизированные массивы

Note

EcmaScript6

DataView

class ArrayTyped(size)

Note

EcmaScript6

let buffer = new ArrayBuffer(80);
let view = new DataView(buffer);
view.setInt32(8, 22, false);
view.getInt32(8, false);
// 22
setInt8(offset, value, be)
setInt16(offset, value, be)
setInt32(offset, value, be)

Использует 8/16/32 бит для хранения числа, принимает целое число со знаком

  • offset - количесвто байтов, которое следует отступить от начала массива перед чтением/записью числа.
  • value - записываемое число
  • be - порядок записи байтов байтов числа, false - старшие байты будут записаны первыми.
setUint8(offset, value, be)
setUint16(offset, value, be)
setUint32(offset, value, be)

Использует 8/16/32 бит для хранения числа, принимает целое число без знака

setFloat32(offset, value, be)
setFloat64(offset, value, be)

Использует 32/64 бит для хранения числа, принимает вещественное число со знаком

getInt8(offset, be)
getInt16(offset, be)
getInt32(offset, be)

Читает 8/16/32 бит и возвращает целое число со знаком

getUint8(offset, be)
getUint16(offset, be)
getUint32(offset, be)

Читает 8/16/32 бит и возвращает целое число без знака

getFloat32(offset, be)
getFloat64(offset, be)

Читает 32/64 бит и возвращает вещественное число со знаком

Float64Array

Буферный массив 64-битных вещественных чисел

class Float64Array(buffer)

Note

EcmaScript6

// создаем буферный массив на 640 бит, 80 * 8
let buffer = new ArrayBuffer(80);

// создаем типизированный буфер 64 битных чисел
// в буфере можно хранить не более 10 числе, 640/64
let typed_array = new Float64Array(buffer);
typed_array[4] = 11;

typed_array.length;
// 10

typed_array[4];
// 11

Int8Array, Int16Array, Int32Array

Буферный массив для 8/16/32 битных чисел со знаком

class Int8Array(buffer)

Note

EcmaScript6

class Int16Array(buffer)

Note

EcmaScript6

class Int32Array(buffer)

Note

EcmaScript6

Uint8Array, Uint16Array, Uint32Array

Буферный массив для 8/16/32 битных чисел без знака

class Uint8Array(buffer)

Note

EcmaScript6

class Uint16Array(buffer)

Note

EcmaScript6

class Uint32Array(buffer)

Note

EcmaScript6

Float32Array, Float64Array

Буферный массив для 32/64 битных вещественных чисел со знаком

class Float32Array(buffer)

Note

EcmaScript6

class Float64Array(buffer)

Note

EcmaScript6