JavaScript Typed Array Reference Manual

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 BigUint64Array 0/264

ອະທິບາຍ

ບາດບັນລະບົບບາດບັນລະບົບບໍ່ແມ່ນບາດບັນລະບົບ.

ການກັບຄືນ isArray() ໃນບາດບັນລະບົບບາດບັນລະບົບບໍ່ມີຄວາມຈິງ.

ບາດບັນລະບົບບາດບັນລະບົບບໍ່ສະໜັບສະໜູນວິທີບາດບັນລະບົບຫຼາຍຫຼາຍ (ເພື່ອ push ແລະ pop)

ບາດບັນລະບົບບາດບັນລະບົບມີຢ່າງຄ້າຍຄືບາດບັນລະບົບເພື່ອບັນທຶກຂໍ້ມູນບາດບັນລະບົບໃນຄວາມສາມາດ.

ວິທີ / ຜົນລະບົບບາດບັນລະບົບ

ວິທີ / ຜົນລະບົບ ອະທິບາຍ
BYTES_PER_ELEMENT ການກຳນວຍຂອງຄວາມມູນຂອງບາດບັນລະບົບທີ່ຈະຮັບການບັນທຶກໜຶ່ງຕົວ.
fill() ບັນບາງຄວາມມູນທີ່ຖືກບັນບາງທັງໝົດ.
find() ກັບຄືນບາດບັນລະບົບທີ່ພົບທຳອິດ.
name ກັບຄືນຊື່ບາດບັນລະບົບ.
of() ສ້າງບາດບັນລະບົບບາດບັນລະບົບຈາກສະໜາມ.
some() ຖ້າບາດບັນລະບົບພົບຂັ້ນວ່າ true.

ຄວາມແຕກຕ່າງລະຫວ່າງ Uint8Array ແລະ Uint8ClampedArray

ຄວາມແຕກຕ່າງລະຫວ່າງ Uint8Array ແລະ Uint8ClampedArray ແມ່ນວິທີທີ່ເພີ່ມຄວາມມູນ.

ຖ້າຈະແຕ່ງຕົວເປັນ 0-255, ບາດບັນລະບົບ Uint8ClampedArray ຈະແຕ່ງຕົວເປັນ 0 ຫຼື 255.

ບາດບັນລະບົບບາດບັນລະບົບຈະເລືອກຄວາມມູນທີ່ທຳອິດ 8.

ຜົນປະໂຫຍດຂອງບາດບັນລະບົບບາດບັນລະບົບ

ບາດບັນລະບົບບາດບັນລະບົບສະເໝີຄວາມມູນສະເໝີຄວາມມູນບາດບັນລະບົບຫຼາຍຫຼາຍກວ່າບາດບັນລະບົບທີ່ດຳເນີນງານໃນ C.

ບາດບັນລະບົບບາດບັນລະບົບແມ່ນຄວາມສາມາດສະເໝີຄວາມມູນ, ຈິດ JavaScript ສາມາດສົ່ງພວກເຂົາໄປໃຫ້ຕອນທີ່ບໍ່ຕ້ອງໄດ້ແປງຂໍ້ມູນໃຫ້ມີບາດບັນລະບົບອື່ນໆ.

ບາດບັນລະບົບບາດບັນລະບົບບາດບັນລະບົບທີ່ຫຼາຍຫຼາຍກວ່າບາດບັນລະບົບປົກກະຕິຫຼາຍຫຼາຍກວ່າເພື່ອສົ່ງຂໍ້ມູນໃຫ້ຕອນທີ່ສາມາດນໍາໃຊ້ຂໍ້ມູນບາດບັນລະບົບຂັ້ນຕົ້ນ (ການເກມຄອມມູນຄໍານວຍການ, WebGL, Canvas, API ບັນບາງ, API ສື່ມືຖື)

API ຄອມມູນຄໍານວຍການບາດບັນລະບົບຂັ້ນຕົ້ນ

Fetch API ວັດຖຸ

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;

Browser Support

typedArray 是 ECMAScript6 (ES6) 特性。

所有现代浏览器都支持 ES6 (JavaScript 2015)。

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

Internet Explorer 11(及更早版本)不支持 typedArray