Panduan Rujukan Tipe Array JavaScript

JavaScript 类型化数组

在 Javascript 中,类型化数组是二进制数据的类似数组的缓冲区。

不存在名为 TypedArray 的 JavaScript 属性或对象,但属性和方法可以与类型化数组对象一起使用:

实例

const myArr = new Int8Array(10);

亲自试一试

类型化数组的对象

对象 数据类型 范围
Int8Array 有符号整数(字节) -128/127
Uint8Array 无符号整数(八位字节) 0/255
Uint8ClampedArray 无符号整数(八位字节) 0/255
Int16Array 短整数 -32768/32767
Uint16Array 无符号短整数 0/65535
Int32Array 有符号长整数 -231/231-1
Uint32Array 无符号长整数 0/232
Float32Array 浮点 - 7 位有效数字 1.2x10-38/3.4x1038
Float64Array 双精度浮点 - 16 位有效数字 5.0x10-324/1.8x10308
BigInt64Array 有符号大整数 -263/263-1
BigUint64Array Besar integer tak berubah 0/264

Description

Jenis array yang disokong oleh API penderia bukan array.

Kembalikan false dengan fungsi isArray() di atas jenis array yang disokong oleh API penderia.

Jenis array yang disokong oleh API penderia tidak mendukung banyak metode array (seperti push dan pop).

Jenis array yang disokong oleh API penderia adalah objek seperti array, digunakan untuk menyimpan data biner di ingatan.

Method dan atribut Typed Array

Method / Attribute Description
BYTES_PER_ELEMENT Menghitung atribut untuk menentukan jumlah byte yang digunakan untuk menyimpan satu elemen.
fill() Isi semua elemen dengan nilai yang sama.
find() Kembalikan elemen pertama yang memenuhi syarat.
name Kembalikan nama jenis array yang disokong oleh API penderia.
of() Buat jenis array yang disokong oleh API penderia dari array.
some() Jika elemen memenuhi syarat, kembalikan true.

Perbandingan antara Uint8Array dan Uint8ClampedArray

Perbezaan antara Uint8Array dan Uint8ClampedArray adalah cara menambah nilai.

Jika elemen dalam Uint8ClampedArray diatur untuk nilai di luar lingkungan 0-255, ia akan dijadikan 0 atau 255 secara default.

Jenis array yang disokong oleh API penderia hanya mengambil 8 bit pertama.

Manfaat jenis array yang disokong oleh API penderia

Jenis array yang disokong oleh API penderia menyediakan cara untuk mengendalikan data biner yang sama baik seperti array yang bekerja di C.

Jenis array yang disokong oleh API penderia adalah memori asal, sehingga JavaScript dapat melepaskannya kepada mana-mana fungsi tanpa memerlukan pengalihan data ke bentuk lain.

Jenis array yang disokong oleh API penderia jenis array lebih cepat daripada array biasa, digunakan untuk menghantar data kepada fungsi yang dapat menggunakan data biner asal (permainan komputer, WebGL, Canvas, API fail, API media).

API penderia browser menyokong jenis array

实例 API Fetch

fetch(url)
.then(request => request.arrayBuffer())
.then(arrayBuffer =>...);

实例 Canvas

const canvas = document.getElementById('my_canvas');
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
const uint8ClampedArray = imageData.data;

Pendukung Pelayar

typedArray Ini adalah fitur ECMAScript6 (ES6).

Semua pelayar moden mendukung ES6 (JavaScript 2015).

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Ya Ya Ya Ya Ya

Internet Explorer 11 (dan sebelumnya) tidak mendukung typedArray.