JavaScript Typed Array Referentiemanual
- Previous Page JS Statements
- Next Page Window Object
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 | Ongeveerige grootte van een groot getal | 0/264 |
Verklaring
Geünnistte arrays zijn geen arrays.
De isArray() van een geünnistte array retourneert false.
Geünnistte arrays ondersteunen veel arraymethoden niet (zoals push en pop).
Geünnistte arrays zijn objecten die lijken op arrays, gebruikt om binair gegevens in het geheugen op te slaan.
Geünnistte Array methoden en eigenschappen
Methode / Eigenschap | Beschrijving |
---|---|
BYTES_PER_ELEMENT | Berekent de eigenschap van het aantal bytes dat nodig is om een element op te slaan. |
fill() | Vul alle elementen met een waarde. |
find() | Retourneert het eerste element dat aan de voorwaarde voldoet. |
name | Retourneert de naam van de geünnistte array. |
of() | Maak een geünnistte array van een array. |
some() | Retourneert true als een element aan de voorwaarde voldoet. |
Uint8Array tegenover Uint8ClampedArray
Het verschil tussen Uint8Array en Uint8ClampedArray ligt in de manier waarop waarden worden toegevoegd.
Als een element van een Uint8ClampedArray buiten het bereik van 0-255 wordt ingesteld, wordt het standaard ingesteld op 0 of 255.
Geünnistte arrays nemen alleen de eerste 8 bits van de waarde aan.
Voordelen van geünnistte arrays
Geünnistte arrays bieden een manier om binair gegevens te verwerken, net zo effectief als arrays in C.
Geünnistte arrays zijn oorspronkelijke geheugen, dus kan JavaScript ze direct doorgeven aan elke functie zonder de gegevens om te zetten naar een andere representatie.
Geünnistte arrays zijn veel sneller dan gewone arrays en worden gebruikt om gegevens door te geven aan functies die oorspronkelijke binair gegevens kunnen gebruiken (computerspellen, WebGL, Canvas, bestands API, media API).
Browser API ondersteunt geünnistte arrays
Fetch API voorbeeld
fetch(url) .then(request => request.arrayBuffer()) .then(arrayBuffer =>...);
Canvas voorbeeld
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 It is an ECMAScript6 (ES6) feature.
All modern browsers support ES6 (JavaScript 2015).
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
Internet Explorer 11 (and earlier versions) does not support typedArray.
- Previous Page JS Statements
- Next Page Window Object