JavaScript Typiseret Array Referencemanual
- Forrige side JS sætninger
- Næste side 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 | Usignert stor heltall | 0/264 |
Beskrivelse
Typpede arrayer er ikke arrayer.
isArray() på typpede arrayer returnerer false.
Typpede arrayer støtter ikke mange arraymetoder (som push og pop).
Typpede arrayer er objekter som ligner arrayer, brukt til å lagre binære data i minnet.
Metoder og egenskaper for Typed Array
Metode / egenskap | Beskrivelse |
---|---|
BYTES_PER_ELEMENT | Beregner egenskapen som brukes til å lagre antall byte for et element. |
fill() | Fyll alle elementer med en verdi. |
find() | Returnerer den første elementet som oppfyller vilkåret. |
name | Returnerer navnet på typpet array. |
of() | Opprett en typpet array fra en array. |
some() | Returnerer true hvis et element oppfyller vilkåret. |
Uint8Array sammenlignet med Uint8ClampedArray
Forskjellen mellom Uint8Array og Uint8ClampedArray ligger i hvordan verdier legges til.
Hvis en element settes til en verdi utenfor området 0-255 i en Uint8ClampedArray, vil den standardverdien være 0 eller 255.
Typpede arrayer tar bare de første 8 bitene.
Fordelene med typpede arrayer
Typpede arrayer gir en måte å håndtere binære data på, på samme måte som et array fungerer i C.
Typpede arrayer er rå minne, så JavaScript kan levere dem direkte til noen funksjoner uten å måtte konvertere dataene til en annen representasjon.
Typpede arrayer er meget hurtigere end vanlige arrayer, og bruges til å overføre data til funksjoner som kan bruke rå binærdata (spill, WebGL, Canvas, fil API, media API).
Browser API understøtter typpede arrayer
Fetch API instans
fetch(url) .then(request => request.arrayBuffer()) .then(arrayBuffer =>...);
Canvas instans
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 understøttelse
typedArray Er en ECMAScript6 (ES6) funktion.
Alle moderne browsere understøtter ES6 (JavaScript 2015).
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Ja | Ja | Ja | Ja | Ja |
Internet Explorer 11 (og tidligere versioner) understøtter ikke typedArray.
- Forrige side JS sætninger
- Næste side Window Object