JavaScript typerade arrayer referenshandbok
- Föregående sida JS-satser
- Nästa sida Fönsterobjekt
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 | Osignerad stor tal | 0/264 |
Förklaring
Typpade arrayer är inte arrayer.
isArray() på typpade arrayer returnerar false.
Typpade arrayer stödjer inte många av arrayernas metoder (som push och pop).
Typpade arrayer är objekt som liknar arrayer och används för att lagra binär data i minnet.
Metoder och egenskaper för Typed Array
Metod / Egenskap | Beskrivning |
---|---|
BYTES_PER_ELEMENT | Beräkna egenskapen som anger antalet byte som används för att lagra ett element. |
fill() | Fyll alla element med ett värde. |
find() | Returnera den första element som uppfyller villkoret. |
name | Returnera namnet på typpade arrayen. |
of() | Skapa en typpad array från en array. |
some() | Om en element uppfyller villkoret, returneras true. |
Uint8Array jämfört med Uint8ClampedArray
Skillnaden mellan Uint8Array och Uint8ClampedArray ligger i hur värden läggs till.
Om en element i Uint8ClampedArray sätts till ett värde utanför intervallet 0-255, kommer det att standardiseras till 0 eller 255.
Typpade arrayer tar bara de första 8 bitarna av värdena.
Fördelarna med typpade arrayer
Typpade arrayer erbjuder ett sätt att hantera binär data som är lika effektivt som att arbeta med arrayer i C.
Typpade arrayer är originalminne, så JavaScript kan skicka dem direkt till vilken funktion som helst utan att behöva konvertera data till en annan representation.
Typpade arrayer är mycket snabbare än vanliga arrayer och används för att överföra data till funktioner som kan använda rå binär data (datorspel, WebGL, Canvas, fil API, media API).
Webbläsarens API stödjer typpade arrayer
Fetch API exempel
fetch(url) .then(request => request.arrayBuffer()) .then(arrayBuffer =>...);
Canvas exempel
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;
Webbläsarstöd
typedArray Det är ECMAScript6 (ES6) egenskaper.
Alla moderna webbläsare stöder ES6 (JavaScript 2015).
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Ja | Ja | Ja | Ja | Ja |
Internet Explorer 11 (och tidigare versioner) stöder inte typedArray.
- Föregående sida JS-satser
- Nästa sida Fönsterobjekt